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

时间:2013-08-19 16:10:05

标签: 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>

清单中的活动定义是:

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

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

1 个答案:

答案 0 :(得分: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);

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

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