如何以编程方式设置操作栏的高度

Ima*_*nol 10 android android-actionbar android-actionbar-compat

我正在android操作栏中实现自定义视图.问题是在某些情况下我需要将操作栏的高度加倍以允许视图完全显示.我可以使用自定义主题设置高度,但此高度是静态的.

是否可以以编程方式更改操作栏高度?

提前致谢

Rya*_*heu 4

您可以使用反射来做到这一点(可能不是一个好主意):

    Window window = getWindow();
    View v = window.getDecorView();
    int actionBarId = getResources().getIdentifier("action_bar", "id", "android");
    ViewGroup actionBarView = (ViewGroup) v.findViewById(actionBarId);
    try {
        Field f = actionBarView.getClass().getSuperclass().getDeclaredField("mContentHeight");
        f.setAccessible(true);
        f.set(actionBarView, 50);
    } catch (NoSuchFieldException e) {

    } catch (IllegalAccessException e) {

    }
Run Code Online (Sandbox Code Playgroud)