【问题标题】:ActionBarCompat with Theme.AppCompat.Light.DarkActionBar shows white title text but black spinner text带有 Theme.AppCompat.Light.DarkActionBar 的 ActionBarCompat 显示白色标题文本但黑色微调器文本
【发布时间】:2013-08-21 12:24:56
【问题描述】:

我正在使用 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>

更多信息,在运行 JellyBean 的 Nexus-S 模拟器和物理 Galaxy S2 上进行测试后,ActionBarCompat 本身的微调器外观问题仅出现在我的开发设备上,即运行 2.3.5 的 Galaxy Y姜饼。也显示在 2.3.3 AVD 上。

【问题讨论】:

    标签: android colors spinner android-actionbar-compat


    【解决方案1】:

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

    【讨论】:

    • 谢谢,这部分解决了问题,因为微调器的下拉列表现在将项目显示为黑底白字,但微调器的初始状态(即在项目列表被下拉之前) ) 在非常深的灰色上仍然是黑色的。欢迎任何进一步的建议。
    • 您是否将主题设置为 android:theme="@style/Theme.AppCompat.Light.DarkActionBar" 之类的活动??
    • 嗨,Tarun,我已经包含了上述活动的清单定义。 ActionBarCompat 上的一切看起来都是正确的,除了黑色的微调器文本之外,非常深灰色背景上的白色文本。
    • 当我在 ArrayAdapter 中使用 R.layout.support_simple_spinner_dropdown_item 时,我将初始值设置为白色
    • 节省了我的时间!是时候从 ABS 迁移到 ABC 了!我们还要确保调用 getSupportActionBar() 而不是 getActionBar()。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 2014-12-24
    • 2023-03-08
    相关资源
    最近更新 更多