标签:
今天很是苦恼,明明设置了android:showAsAction="always",但是所有的items全部都显示在overflow中,然后在官网发现了答案。
如果你为了兼容 Android 2.1 的版本使用了 Support 库,在 android
命名空间下showAsAction
属性是不可用的。Support 库会提供替代它的属性,你必须声明自己的 XML 命名空间,并且使用该命名空间作为属性前缀。(一个自定义 XML 命名空间需要以你的 app 名称为基础,但是可以取任何你想要的名称,它的作用域仅仅在你声明的文件之内。)
添加此命名空间 xmlns:app="http://schemas.android.com/apk/res-auto" ,使用app:showAsAction代替android:showAsAction。
例如:
1 <?xml version="1.0" encoding="utf-8"?> 2 <menu xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 > 5 6 <item 7 android:id="@+id/action_search" 8 android:icon="@drawable/peasy" 9 app:showAsAction="always" 10 android:title="@string/action_search"/> 11 12 <!-- 设置, 在溢出菜单中展示 --> 13 <item 14 android:id="@+id/action_settings" 15 android:showAsAction="never" 16 android:title="@string/action_settings"/> 17 <item 18 android:id="@+id/action_about" 19 app:showAsAction="never" 20 android:title="@string/action_about"/> 21 22 </menu>
UI依然很丑,但是效果实现了,大家将就着看吧。
在ActionBar中,即便设置showAsAction="always",items仍然在overflow中显示的问题
标签:
原文地址:http://www.cnblogs.com/izhanjun/p/4187678.html