ActionBar简要

颜华池
2023-12-01

1.0:AcntionBar是谷歌在Android3.0后加入的新功能,在不使用第三方Jar包的情况下注意版本

2.0:通过getActionBar().setDisplayShowHomeEnabled(false);可以单独隐藏actionBar的图标,标题文字也是同理。

3.0很多手机默认不显示左边的Menu,这里就需要通过反射来让Menu强制显示

ViewConfiguration config = ViewConfiguration.get(this);

        Field menueKey = ViewConfiguration.class
                .getDeclaredField("sHasPermanentMenuKey");
        menueKey.setAccessible(true);
        menueKey.setBoolean(config, false);

4.0:图标同理

    if (featureId == Window.FEATURE_ACTION_BAR && menu != null) {
        if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
            try {
                Method m = menu.getClass().getDeclaredMethod(
                        "setOptionalIconsVisible", Boolean.TYPE);
                m.setAccessible(true);
                m.invoke(menu, true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

5.0:Menu的事件通过onOptionsItemSelected来进行监听

 类似资料: