gpt4 book ai didi

android - 单击复选框时防止 OptionsMenu 关闭

转载 作者:行者123 更新时间:2023-11-29 18:22:21 25 4
gpt4 key购买 nike

我想在屏幕顶部显示复选框以允许用户启用屏幕锁定,我只想在他打开选项菜单时显示该复选框。我可以通过覆盖这两种方法来做到这一点

@Override
public boolean onMenuOpened(int featureId, Menu menu) {
checkbox.setVisibility(View.VISIBLE);
return super.onMenuOpened(featureId, menu);
}
@Override
public void onOptionsMenuClosed(Menu menu) {
checkbox.setVisibility(View.GONE);
super.onOptionsMenuClosed(menu);
}

但是,当我触摸复选框时,为了选中它,菜单会自行关闭,并且复选框会在我选中之前消失。

所以我的问题很简单:当我触摸复选框时,如何防止选项菜单关闭?

最佳答案

Android stock 浏览器显示一个标题栏,您可以在菜单打开时单击它。所以他们的解决方案也应该适合您的问题。

TitleBar 使用 WindowManager 显示:

WindowManager manager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);

// Add the title bar to the window manager so it can receive touches
// while the menu is up
WindowManager.LayoutParams params
= new WindowManager.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP;
manager.addView(mFakeTitleBar, params);

删除它(当菜单关闭或用户点击它时)

manager.removeView(mFakeTitleBar);

关于android - 单击复选框时防止 OptionsMenu 关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4725704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com