ActoinBar Overflow 显示问题 (三个点不显示)
【摘要】
actionBar 上面 部分机型 显示不出来 三个点那个按钮 ,大概的解释是 如果设备有菜单功能键,显示隐藏动作的功能将会由Menu菜单功能键实现
就是 有实体的菜单键 就会由菜单键替代。
如果想强制显示 这三个点的按钮,那么将下面这个方法 放入oncreate里面调用。
privatevoid getOv...
actionBar 上面 部分机型 显示不出来 三个点那个按钮 ,大概的解释是 如果设备有菜单功能键,显示隐藏动作的功能将会由Menu菜单功能键实现
就是 有实体的菜单键 就会由菜单键替代。
如果想强制显示 这三个点的按钮,那么将下面这个方法 放入oncreate里面调用。
-
privatevoid getOverflowMenu() {
-
try{
-
ViewConfiguration config = ViewConfiguration.get(this);
-
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
-
if(menuKeyField !=null) {
-
menuKeyField.setAccessible(true);
-
menuKeyField.setBoolean(config,false);
-
}
-
}catch (Exception e) {
-
e.printStackTrace();
-
}
-
}
-
<?xml version="1.0" encoding="utf-8"?>
-
<menu xmlns:android="http://schemas.android.com/apk/res/android">
-
<item
-
android:id="@+id/menu_registered"
-
android:actionViewClass="android.widget.SearchView"
-
android:orderInCategory="100"
-
android:showAsAction="ifRoom"
-
android:title="@string/contact_friend_unfollow"/>
-
<item
-
android:id="@+id/menu_unregistered"
-
android:actionViewClass="android.widget.SearchView"
-
android:orderInCategory="100"
-
android:showAsAction="always"
-
android:title="@string/invite"/>
-
<item
-
android:id="@+id/menu_all"
-
android:actionViewClass="android.widget.SearchView"
-
android:orderInCategory="100"
-
android:showAsAction="always"
-
android:title="@string/all"/>
-
</menu>
showAsAction 后面参数解释:
-
</pre><pre name="code" class="html">ALWAYS:总是将该MenuItem显示在ActionBar上
-
COLLAPSE_ACTION_VIEW:将该Action View折叠成普通菜单项
-
IF_ROOM:当ActionBar位置有足够空间时才显示该MenuItem
-
NEVER:不将该MenuItem显示在ActionBar上
-
WITH_TEXT:将该MenuItem显示在ActionBar上,且显示该菜单项的文本
文章来源: wukong.blog.csdn.net,作者:再见孙悟空_,版权归原作者所有,如需转载,请联系作者。
原文链接:wukong.blog.csdn.net/article/details/47833941
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)