2013-03-14 46 views
0

正在創建android應用程序,其中包含一些spinners。這裏出現了一些問題。某些時候,spinners項目的文本顏色會根據設備而變化。我怎麼能過來這個......文本顏色與微調器不匹配

這裏是設置值的微調的代碼。

ArrayAdapter<PatientCaseList> adapter = new ArrayAdapter<PatientCaseList>(getApplicationContext(), android.R.layout.simple_spinner_item,caseList); 
adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); 
spinnerCaseNames.setAdapter(adapter); 

它顯示正確的選擇時,我使用的Android 2.3.3這個應用,而是在3.0它不顯示

回答

0

每個設備都將在Spinner上強制執行自己的主題。

您不應該使用內置的微調器layout.Rather創建您自己的佈局。

my_spinner_layout.xml

<TextView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#FF0000"   
     /> 

然後使用

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_spinner_layout,list); 
+0

這是一個簡單的答案...... – Vikky 2013-03-15 03:37:44

+0

只是偉大的傢伙.... – 2014-09-08 09:45:58

1

您可以爲您創造微調自定義主題。例如:

<activity 
     android:name="MainActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" 
     android:theme="@style/SpinnerTheme 
     android:windowSoftInputMode="adjustResize|stateHidden" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

希望這將幫助你:

style.xml

<style name="TextAppearanceSpinnerItem" parent="android:TextAppearance.Widget.TextView.SpinnerItem"> 
    <item name="android:textColor">#000</item> 
    <item name="android:textSize">10sp</item> 
</style> 

<style name="SpinnerItem" parent="android:Widget.TextView.SpinnerItem"> 
    <item name="android:textAppearance">@style/TextAppearanceSpinnerItem</item> 
</style> 

<style name="SpinnerTheme" parent="android:Theme"> 
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item> 
</style> 

現在在具有微調樣活性應用自定義主題。

+0

yaaa其幫助全...但上面的回答工作容易..... – Vikky 2013-03-15 03:38:14

+0

感謝您的答覆。 ..... – Vikky 2013-03-15 03:38:33