首页 > 代码库 > 在ActionBar中,即便设置showAsAction="always",items仍然在overflow中显示的问题
在ActionBar中,即便设置showAsAction="always",items仍然在overflow中显示的问题
今天很是苦恼,明明设置了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 <item14 android:id="@+id/action_settings"15 android:showAsAction="never"16 android:title="@string/action_settings"/>17 <item18 android:id="@+id/action_about"19 app:showAsAction="never"20 android:title="@string/action_about"/>21 22 </menu>
UI依然很丑,但是效果实现了,大家将就着看吧。
在ActionBar中,即便设置showAsAction="always",items仍然在overflow中显示的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。