解决item不能够在ActionBar上显示,只显示在overflow的问题
来源:互联网 发布:nginx域名重定向404 编辑:程序博客网 时间:2024/05/16 11:12
不好意思,因为鄙人对知识面的掌握偏少,对知识的认识有了个人的偏向错误,在博友的细心教导下对此再次进行修改,希望各位博友多多包涵。
进入正题,有部分人遇到了<item>中无论设置什么都无法显示到overflow之外,如果想要达到item项出现在overflow之外,请按照以下操作。
如果你的是 public class MainActivity extends ActionBarActivity 或者 直接 extends Activity, 那么想必看了网上比较久之前的写法,AS会在该词上面划线并提示该用法已经不推荐使用,因为AS更新了support v_7包,用AppCompatActivity代替了原来的ActionBarActivity的功能。
因此,想到达到item项出现在overflow中,则确认一下你代码的几处地方。
第一处,你的活动(activity)是不是 extends AppCompatActivity;
第二处,mainfest文件里的theme必须是 Theme.AppCompat或它的派生主题;
第三处,menu文件里的<item>是不是 app:showAsAction="always";
只要按着这三步走就可以达到我们要的效果。
*注:
①overflow就是在右上角显示为三个点的按钮
②app:showAsAction="" 里面的属性功能:
always是一定出现在overflow之外,ifRoom是如果actionbar上的空间足够就显示在overflow之外,never是一直隐藏在overflow中;
③如果你发现运行代码之后,模拟器上没有显示overflow这个按钮的话,可以在AppCompatActivity中直接加入并调用以下方法即可。
//强制把overflow显示出来 private void setOverflowShowingAlways() { try { ViewConfiguration config = ViewConfiguration.get(this); Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey"); menuKeyField.setAccessible(true); menuKeyField.setBoolean(config, false); } catch (Exception e) { e.printStackTrace(); } }
①menu文件的内容如下
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_search" android:title="搜索" app:showAsAction="always" android:icon="@mipmap/ic" android:orderInCategory="100"/> <item android:id="@+id/action_share" android:title="分享" app:showAsAction="ifRoom" android:icon="@drawable/ic_filter_3_red_a400_24dp"/> <item android:id="@+id/action_collection" android:title="收藏" app:showAsAction="ifRoom" android:icon="@drawable/ic_account_balance_green_400_48dp"/> <item android:id="@+id/action_collection02" android:title="分享" app:showAsAction="never" /> <item android:id="@+id/action_collection03" android:title="更多" app:showAsAction="never" /></menu>
②最终运行效果如图
- 解决item不能够在ActionBar上显示,只显示在overflow的问题
- 解决ActionBar中不显示item的问题,item显示在overflow中
- 解决ActionBar中的item不显示在ActionBar的问题
- 解决ActionBar中的item不显示在ActionBar的问题
- 解决ActionBar中的item不显示在ActionBar的问题
- 解决ActionBar中的item不显示在ActionBar的问题
- 解决ActionBar中的item不显示在ActionBar的问题
- 解决ActionBar Item 一直出现在Action OverFlow的问题
- ActionBar中icon总是显示在overflow的问题
- ActionBar上的overflow menu显示位置的问题
- 在ActionBar中,即便设置showAsAction="always",items仍然在overflow中显示的问题...
- 在ActionBar中,即便设置showAsAction="always",items仍然在overflow中显示的问题
- ActionBar的Action Overflow Menu在带物理按键的4.x设备上不显示
- android actionbar 不能显示overflow
- v7 actionbar 没有显示 overflow的问题
- 解决ActionBar + Menu 不能显示在手机顶部
- 解决ListView在ScrollView里只显示单行的问题
- 水晶报表在Web中预览时工具栏上的图标不能显示问题的解决
- python3 操作excel
- c++经典类库
- Java中break和continue的区别与作用
- if 语句
- 套接字
- 解决item不能够在ActionBar上显示,只显示在overflow的问题
- 归并排序
- PF_RING DNA/Libzero vs Intel DPDK
- 单向循环链表,头插,尾插,中间插入,删除等功能
- 5-8 构造一个银行账户类
- Sublime Text使用教程
- 通过HTTP RESTful API 操作elasticsearch搜索数据
- Java多线程学习笔记(一)
- spring学习总结(十):基于 XML 的配置AOP