actionbar强制显示overflow menu

来源:互联网 发布:数据库limit的用法 编辑:程序博客网 时间:2024/05/17 05:17

1.Android中的ActionBar中的那三个点的按钮,专业名字叫做:overflow button或overflow menu

2.overflow在新的Android 3.0+的系统中,默认是不显示的:

对应的:

  • 对于很多PAD来说:ActionBar中空间足够显示的话,那么对应各个menu菜单,都直接显示在ActionBar中;
  • 对于很多手机来说:ActionBar中没有足够的控件显示所有的菜单的话,余下的菜单,就被藏起来了->只有有物理菜单(MENU)键的Android设备,点击MENU键,才能出现多余的菜单;

3.想要让overflow始终都显示的话:

public class XxxActivity{     @Override    protected void onCreate(Bundle savedInstanceState) {        ...                 getOverflowMenu();    }     
    private void 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();        }    }}

然后接下来,要根据ActionBar是否有足够空间显示所有menu菜单,来决定menu的android:showAsAction是否添加ifRoom

0 0
原创粉丝点击