Android的ActionBar如何强制显示OverFlow图标

在有的Android的App中,若ActionBar中的菜单项过多,会显示一个OverFlow图标(有三个纵向的点)如下图所示:

4.1.2-android-weixin-micromsg-also-show-three-dot-settings-menu_thumb

比较遗憾的是,这个图标的显示,与Android版本以及Menu项的数目相关。

如何强制显示这个Overflow图标呢?

经过查找,有如下两种方案。

1、进行Hack

在onCreate中添加如下Hack代码

比较遗憾的是,上述所使用的sHasPermanentMenuKey并未在官方文档中提及,也就是说,在未来很可能被废弃。

2、将一个MenuItem“伪装”成Overflow图标

如下所示,我们可以设置一个父子菜单,然后对父菜单设置icon,来完成同样的功能。

这样搞完后,有个缺点,就是submenu会在屏幕顶部显示,而不是actionbar底部显示,经过查询,可以按照这样的方法进行处理,即单独添加submenu。

 

 

 

Leave a Reply

Your email address will not be published.