最近自己在做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起交換。