【问题标题】:action bar spinner not matching style, dark spinner text操作栏微调器样式不匹配,深色微调器文本
【发布时间】:2013-09-21 07:55:20
【问题描述】:

我目前正在使用 android.support.v7 包中包含的操作栏向我的应用程序添加操作栏功能。我在添加导航微调器时遇到了问题。当应用程序在 Honecomb 之前的设备上运行时,微调器中的文本看起来太暗而难以阅读,并且单选按钮与文本一起出现。我在我的 values/styles.xml 中定义的 Honecomb 之前为设备使用 Theme.AppCompat 主题,这是一个深色主题,但不知何故,该主题未正确应用于操作栏微调器。 这是微调器的初始化代码。

ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
actionBar.setDisplayShowTitleEnabled(false);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
    actionBar.getThemedContext(),
    android.R.layout.simple_spinner_dropdown_item,
    android.R.id.text1, stringArrayGoesHere());
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
actionBar.setListNavigationCallbacks(adapter, null);

我听说过 Action Bar Sherlock 等替代库,但我目前对使用它们不感兴趣。

谢谢

【问题讨论】:

    标签: android android-actionbar android-spinner android-styles android-support-library


    【解决方案1】:

    我在使用客户主题时也遇到了同样的问题,解决方案是分别为微调器文本和微调器下拉列表文本创建 02 xml 文件。我想你也可以为你的案子做同样的事情。

    这是用于微调文本:(我正在使用带有深色操作栏的全息)

    actionbar_spinner.xml

    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="7dp"
    android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium.Inverse"
    android:textColor="#FFFFFF"
    android:textStyle="italic" />
    

    这是下拉列表文本:

    actionbar_spinner_dropdown.xml

    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:height="40dp"    
        android:paddingLeft="7dp"
        android:textSize="18sp"
        android:textColor="#0099CC" />
    

    然后你可以把这些xml放在你的代码中,例如:

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
        actionBar.getThemedContext(),
        R.layout.actionbar_spinner,
        android.R.id.text1, stringArrayGoesHere());
    adapter.setDropDownViewResource(R.layout.actionbar_spinner_dropdown);
    actionBar.setListNavigationCallbacks(adapter, null);
    

    希望对你有帮助..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2012-10-08
      相关资源
      最近更新 更多