我遇到了一个奇怪的问题。
当我使用android holo主题作为默认主题,然后在webview上选择文本时,上下文操作栏会正确显示。
<style name="MyTheme" parent="Theme.AppCompat.Light">
</style>
但是当我使用app紧凑的全息主题时,选择所有和复制动作都消失了。
<style name="MyTheme" parent="android:Theme.Holo.Light">
</style>
我的问题在哪里?我的应用程序支持Android设备4.0 +
答案 0 :(得分:4)
因为在menu.xml文件中,您使用属性app:showAsAction="ifRoom"
来表示非app commpat主题。
请将app:showAsAction="ifRoom"
更改为android:showAsAction="ifRoom"
,然后才能正常工作
示例
对于这种风格
<style name="AppTheme" parent="android:Theme.Holo.Light">
在菜单
下方工作<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item android:id="@+id/pase"
android:title="@string/action_settings"
android:orderInCategory="100"
android:icon="@drawable/abc_ic_menu_paste_mtrl_am_alpha"
//look here is a different
android:showAsAction="ifRoom"/>
<item android:id="@+id/copy"
android:title="@string/action_settings"
android:icon="@drawable/abc_ic_menu_copy_mtrl_am_alpha"
android:orderInCategory="100"
android:showAsAction="ifRoom"/>
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
android:showAsAction="never"/>
</menu>
对于这种风格
<style name="AppTheme" parent="Theme.AppCompat.Light">
在菜单
下方工作<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item android:id="@+id/pase"
android:title="@string/action_settings"
android:orderInCategory="100"
android:icon="@drawable/abc_ic_menu_paste_mtrl_am_alpha"
//look here is a different
app:showAsAction="ifRoom"/>
<item android:id="@+id/copy"
android:title="@string/action_settings"
android:icon="@drawable/abc_ic_menu_copy_mtrl_am_alpha"
android:orderInCategory="100"
app:showAsAction="ifRoom"/>
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never"/>
</menu>
此外,如果您使用Theme.AppCompat.Light
,则应在代码中使用ActivityActionBar。