带有Theme.AppCompat.Light.DarkActionBar的ActionBarCompat显示白色标题文本但黑色微调文本

jri*_*sch 4 android colors spinner android-actionbar-compat

我正在使用ActionBarCompat和两个Title文本,后跟ActionBar中的微调器.我正在使用主题Theme.AppCompat.Light.DarkActionBar,它应该在黑色背景上显示白色文本.标题文本显示为白色,但微调文本显示为黑色.将主题切换为Theme.AppCompat.Light在白色上都有黑色文本.任何人都可以建议我如何将白色文本输入微调器?我已经看到ActionBar和ActionBarSherlock的建议,但无法让它们在ActionBarCompat上工作.我按照以下方式尝试了样式而没有成功:

    <style name="SBRRTheme" parent="AppTheme">
    <item name="android:spinnerDropDownItemStyle">@style/SBRRCustomDropDownItemStyle</item>
</style>

<style name="SBRRCustomDropDownItemStyle"> parent="@android:style/Widget.AppCompat.Light.DropDownItem.Spinner">
    <item name="android:textAppearance">@style/SBRRCustomDropDownItemTextStyle</item>
</style>

<style name="SBRRCustomDropDownItemTextStyle"> parent="@android:style/Widget.AppCompat.Spinner.DropDown.ActionBar">
    <item name="android:textColor">@color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

清单中的活动定义是:

        <activity
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
        android:name="com.example.actionbar2.RaceResultsActivity"
        android:label="@string/action_raceresults"
        android:parentActivityName=".MainActivity" >
        <meta-data android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity" />
    </activity>
Run Code Online (Sandbox Code Playgroud)

进一步的信息,在使用Nexus-S仿真器和物理Galaxy S2进行测试后,都运行JellyBean,ActionBarCompat本身的微调器外观问题只出现在我的开发设备上,一个运行2.3.5 Gingerbread的Galaxy Y. 同样显示在2.3.3 AVD上.

Tar*_*run 14

您需要将listadapter设置为R.layout.support_simple_spinner_dropdown_item

例:

Context context = ab.getThemedContext();
ArrayAdapter<CharSequence> listAdapter =
                ArrayAdapter.createFromResource(context, R.array.locations, R.layout.support_simple_spinner_dropdown_item);

listAdapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
Run Code Online (Sandbox Code Playgroud)

支持库具有下拉微调项目的布局.

@Kuitsi的评论是正确的.下拉视图和项目使用相同的布局.