android – AppCompat ActionBar主题微调器下拉列表

我正在升级应用程序以使用AppCompat v7 21.0.0.

我还没有迁移到工具栏,而是试图主题Window装饰ActionBar.我在操作栏中使用NAVIGATION_MODE_LIST和ShareActionProvider.导航模式设置如下:

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

然而,旋转器下拉覆盖旋转器并且是黑暗的.这是问题的图像:http://i.stack.imgur.com/kNwdm.png

我希望下拉菜单显示在操作栏下方并且大于微调器.我试图在很多方面调整主题但我没做什么似乎对微调器下拉列表有任何影响.

这是主题

<style name="AppTheme.Blue" parent="@style/Theme.AppCompat.Light.DarkActionBar">
  <item name="colorPrimary">@color/theme_blue</item>
  <item name="colorPrimaryDark">@color/theme_blue_dark</item>
  <item name="colorAccent">@color/theme_blue_accent</item>
</style>

同一操作栏中的ShareActionProvider显示与此工具栏问题相同的问题,因此迁移到工具栏不会解决这两个问题:
AppCompat ToolBar popupTheme not used in the ShareAction MenuItem

解决方法:

对于api21,不推荐使用方法setNavigationMode(ActionBar.NAVIGATION_MODE_LIST),然后小心使用它.

http://developer.android.com/reference/android/support/v7/app/ActionBar.html#setNavigationMode(int)

这个答案并不能解决您的问题,但它是使用新工具栏类实现它的另一种方法.
工具栏是一个ViewGroup,因此您可以在其中使用Spinner.

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_actionbar"
        android:layout_height="?attr/actionBarSize"
        android:layout_width="match_parent"
        android:background="?attr/colorPrimary">

    <Spinner
            android:id="@+id/spinner_toolbar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

</android.support.v7.widget.Toolbar>

然后,您可以使用工具栏作为操作栏:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
setSupportActionBar(toolbar);

最后,您必须禁用工具栏中的标题:

getSupportActionBar().setDisplayShowTitleEnabled(false);
上一篇:[Web Component] Allow External Styling of a Web Component's Shadow DOM


下一篇:Android如何更改弹出菜单项背景