最近自己在做1个项目是需要弹出信息框, 我使用的是popupwindow,我之前设置的有这个:
m_pop_GameMatchWaitTip.setBackgroundDrawable(new PaintDrawable());
m_pop_GameMatchWaitTip.setOutsideTouchable(true);
就是支持框体外点击获得焦点关闭,但是用户使用效果不佳,现在要改成信息提示框不可以点击屏幕关闭,要按keyback键关闭,经过自己的1番研究,以下方法可以实现解决这个问题:
就是在这个popupwindow.xml配置文件里面加上1个无关的view或没有点击的需要的view便可,我设置以下:
this.m_txt_Match_Name.setFocusableInTouchMode(true);
this.m_txt_Match_Name.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK)
{
if (m_pop_GameMatchWaitTip != null)
{
m_pop_GameMatchWaitTip.dismiss();
}
return true;
}
return false;
}
});
这样就能够通过监听这个view,从而关闭这个popupwindow。
希望自己可以帮助到其他需要这个问题的朋友,有问题可以大家1起交换。