PopupWindow在设置了焦点之后,那么这个弹出窗口就是当前操作的窗口,如果想要在此时响应按键事件,就需要在PopupWindow上注册键盘事件来响应。但是PopupWindow好像只有一个OnDismissListener,怎么来注册键盘事件监听呢?
可以利用PopupWindow里的最外层View,对该子View监听键盘事件setOnKeyListener即可。
popupwindow.setBackgroundDrawable(new BitmapDrawable());
popupwindow.setFocusable(true);
popupwindow.setFocusableInTouchMode(true);
childrenView.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK)
{
Log.v("keyCode", "/" + keyCode);
if(popupwindow != null) {
popupwindow.dismiss();
popupwindow = null;
}
}
return false;
}
});
PopupWindow键盘事件监听实现
本文详细阐述了如何在PopupWindow中实现键盘事件监听,包括设置背景、使PopupWindow聚焦和触控模式,并通过子View注册键盘事件监听器,特别关注了如何在接收到返回键事件时关闭PopupWindow。
6832

被折叠的 条评论
为什么被折叠?



