1

我目前正在使用 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 之类的替代库,但我目前对使用它们不感兴趣。

谢谢你

4

1 回答 1

5

我在使用客户主题时也遇到了同样的问题,解决方案是分别为微调器文本和微调器下拉列表文本创建 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);

希望能帮助到你..

于 2013-10-01T03:22:42.870 回答