我的应用程序在不同的设备上运行良好,包括谷歌Nexus 4(4.4.2),Nexus S(4.1.2)和三星S3(4.1。*),但我有菜单通胀显示问题S3和S4与4.2.2+(之前未经证实)。
正在发生的事情是,在纵向模式下,菜单出现并在Tab Fragment下方展开(可能在整个视图下方)。在横向中,菜单显示并展开以覆盖整个视图,但高于一切。在肖像中,没有文字或图标出现(或者至少它们在顶部位不可见),但在横向中它们可以。
菜单已经存在,并且正在涵盖以下内容:
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
MenuInflater inflater = getActivity().getMenuInflater();
inflater.inflate(R.menu.actionmode, menu);
return true;
}
R.menu.actionmode:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/actionmode_delete"
android:title="@string/label_actionmode_delete"
android:icon="@drawable/actionmode_discard"
android:showAsAction="always|withText"/>
</menu>
我不知道是什么导致这个问题的三星S3,S4与4.2 +。
更新:
原来三星在我的风格中使用这一行代码做了一些奇怪的事情:
<item name="android:actionModeStyle">@style/MyActionMode</item>
一旦我删除了这一行,UI工作正常,但我仍然需要找到一种方法来应用我需要的样式。
答案 0 :(得分:2)
三星在我的风格中使用这一行代码做了一些奇怪的事情:
<item name="android:actionModeStyle">@style/MyActionMode</item>
幸运的是,我只需要设置背景颜色,所以我能够做到以下几点:
<item name="android:actionModeBackground">@color/custom_main_app_color</item>
我知道这并没有真正解决问题,它基本上回避了问题,但它对我有用。