我升级应用以使用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
答案 0 :(得分:5)
对于api21,方法setNavigationMode(ActionBar.NAVIGATION_MODE_LIST)
已弃用,请谨慎使用。
http://developer.android.com/reference/android/support/v7/app/ActionBar.html#setNavigationMode(int)
此答案无法解决您的问题,但它是使用新Toolbar
类实现此问题的另一种方法。
工具栏是一个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);