gpt4 book ai didi

android - 点击选项菜单打开自定义菜单

转载 作者:行者123 更新时间:2023-11-30 01:51:43 25 4
gpt4 key购买 nike

我有自定义操作栏的 Activity (基本上是自定义布局 xml),因此我也在布局文件中创建了一个自定义菜单按钮并显示了一个弹出窗口,

我正在使用此回调在点击硬件选项菜单时显示相同的弹出窗口,但给出了一个奇怪的行为,例如,这将在运行 very onresume 时打开自定义菜单。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
//return super.onCreateOptionsMenu(menu);
showHideMenu();
return false;
}

你能建议我在哪里可以放置showHideMenu(); 就像自定义选项菜单一样吗

//showHideMenu() code

private void showHideMenu() {
if (mPopUpMenu.isShowing())
dismissPopUpMenu();
else
showMenu();
}

private void dismissPopUpMenu() {
// dismiss menu
if (mPopUpMenu != null)
mPopUpMenu.dismiss();
}

最佳答案

你应该寻找一个 up keyevent:

public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
showHideMenu();
return true;
}
return super.onKeyUp(keyCode, event);
}

将此包含在弹出窗口中:

mPopUpMenu.getContentView().setOnKeyListener(new View.OnKeyListener() {        
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
// ... payload action here. e.g. popupMenu.dismiss();
return true;
}
return false;
}
});

引用: Detecting physical Menu key press in Android

关于android - 点击选项菜单打开自定义菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32941371/

25 4 0