Android openOptionsMenu在KitKat中什么都不做

Sar*_*mer 2 android android-optionsmenu android-4.4-kitkat

我有一个openOptionsMenu()来自Activity的方法的按钮,它在其他Android版本上运行良好,但在KitKat上它绝对没有...为什么?

Sar*_*mer 6

显然你必须从Activity中覆盖这个方法并在其中写一些额外的代码,所以这就是我所做的,感谢Luis A. Florit对此问题的评论如何以编程方式打开选项菜单?

@Override
public void openOptionsMenu() {
    super.openOptionsMenu();
    Configuration config = getResources().getConfiguration();
    if ((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) > Configuration.SCREENLAYOUT_SIZE_LARGE) {
        int originalScreenLayout = config.screenLayout;
        config.screenLayout = Configuration.SCREENLAYOUT_SIZE_LARGE;
        super.openOptionsMenu();
        config.screenLayout = originalScreenLayout;
    } else {
        super.openOptionsMenu();
    }
}
Run Code Online (Sandbox Code Playgroud)