文本颜色与微调器不匹配

时间:2013-03-14 11:43:19

标签: android drop-down-menu android-spinner

我正在创建包含一些微调器的android应用程序。这里出现了一些问题。有时,微调器项目的文本颜色会根据设备而变化。我怎么能过来......

这是为微调器设置值的代码。

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中它没有显示

2 个答案:

答案 0 :(得分:1)

您可以为Spinner创建自定义主题。例如:

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>

现在将自定义主题应用于具有微调器的活动:

<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>

希望这会对你有所帮助。

答案 1 :(得分:0)

每个设备都会在Spinner上强制执行自己的主题。

您不应该使用内置的微调器布局.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);