Android弹出窗口被解雇当我单击列表活动中的项目时,我会显示一个弹出窗口。问题是后退键不会关闭它。我尝试在列表活动中捕获后退键但它没有注册它...然后我尝试将onkeylistener注册到我正在传递到弹出窗口的视图中。像这样:pop.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // TODO Auto-generated method stub boolean res=false; if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { // do something on back. Log.e("keydown","back"); if (pw.isShowing()) { Log.e("keydown","pw showing"); pw.dismiss(); res = true; } } else { res = false; } return res; } });传递给像这样的弹出窗口:pw = new PopupWindow( pop, 240, 70, true);但那个听众既不会开火也不会开火。你能帮助我吗?我没有想法:)
3 回答
绝地无双
TA贡献1946条经验 获得超4个赞
按照以下方式工作正常:
PopupWindow pw;
LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.weight_popup, (ViewGroup)findViewById(R.id.linlay_weight_popup));
pw = new PopupWindow(layout,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT, true);
pw.setBackgroundDrawable(new BitmapDrawable());
pw.setOutsideTouchable(true);
pw.showAsDropDown(btnSelectWeight);
慕桂英4014372
TA贡献1871条经验 获得超13个赞
对于新项目,最好使用
popupWindow.setBackgroundDrawable(new ColorDrawable());
代替
popupWindow.setBackgroundDrawable(new BitmapDrawable());
不推荐使用BitmapDrawable。此外,在这种情况下,它比ShapeDrawable更好。我注意到当PopupWindow是一个带圆角的矩形时,ShapeDrawable用黑色填充角落。
- 3 回答
- 0 关注
- 399 浏览
添加回答
举报
0/150
提交
取消