4

我正在使用 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 Gingerbread 的 Galaxy Y。也显示在 2.3.3 AVD 上。

4

1 回答 1

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 评论是正确的。对下拉视图和项目使用相同的布局。

于 2013-08-19T16:14:56.970 回答