gpt4 book ai didi

android - 如何在 WindowManager 添加的 View 中捕获按键

转载 作者:太空狗 更新时间:2023-10-29 12:53:42 25 4
gpt4 key购买 nike

我想为我的应用程序添加自定义 View 。为此,我使用 WindowsManager:

        final WindowManager wm = getWindowManager();
final View view = ((LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.game_menu, null);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.flags |= WindowManager.LayoutParams.FLAG_DIM_BEHIND | WindowManager.LayoutParams.FLAG_FULLSCREEN;
lp.dimAmount = (float) 0.6;
lp.format = PixelFormat.TRANSPARENT;
lp.windowAnimations = android.R.style.Animation_Dialog;
view.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
Log.d("12", "12");
if (keyCode == KeyEvent.KEYCODE_BACK)
{
wm.removeView(view); // This I need to hide my menu
}
return false;
}
});
wm.addView(view, lp); // I add menu like in Angry Birds and other games

但是我无法捕获用于隐藏此 View 的设备键事件。

为什么我的关键监听器没有在 WindowsManager 添加的 View 中调用?我必须怎么做才能通过按下设备后退键来隐藏我的 View ?

最佳答案

您可以在您的 View 中添加这些setFocusableInTouchMode(true);

关于android - 如何在 WindowManager 添加的 View 中捕获按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9157910/

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