2013-03-14 39 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