Android appcompact 不显示上下文操作栏中的文本选择复制操作
Android appcompact doesn't show copy action from Contextual Action Bar for text selection
我遇到了一个奇怪的问题。
当我使用 android holo 主题作为默认主题,然后在 webview 上 selecting 文本时,上下文操作栏正确显示。
<style name="MyTheme" parent="Theme.AppCompat.Light">
</style>
但是当我使用 app compact holo 主题时,select all 和复制操作都没有了。
<style name="MyTheme" parent="android:Theme.Holo.Light">
</style>
我的问题在哪里?我的应用程序支持 android 设备 4.0+
因为在您的 menu.xml 文件中,您使用的属性 app:showAsAction="ifRoom"
不是应用程序兼容主题。
请将 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。
我遇到了一个奇怪的问题。
当我使用 android holo 主题作为默认主题,然后在 webview 上 selecting 文本时,上下文操作栏正确显示。
<style name="MyTheme" parent="Theme.AppCompat.Light">
</style>
但是当我使用 app compact holo 主题时,select all 和复制操作都没有了。
<style name="MyTheme" parent="android:Theme.Holo.Light">
</style>
我的问题在哪里?我的应用程序支持 android 设备 4.0+
因为在您的 menu.xml 文件中,您使用的属性 app:showAsAction="ifRoom"
不是应用程序兼容主题。
请将 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。