为了账号安全,请及时绑定邮箱和手机立即绑定

Android弹出窗口被解雇

Android弹出窗口被解雇

MMTTMM 2019-08-16 16:39:13
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);


查看完整回答
反对 回复 2019-08-16
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

对于新项目,最好使用

popupWindow.setBackgroundDrawable(new ColorDrawable());

代替

popupWindow.setBackgroundDrawable(new BitmapDrawable());

不推荐使用BitmapDrawable。此外,在这种情况下,它比ShapeDrawable更好。我注意到当PopupWindow是一个带圆角的矩形时,ShapeDrawable用黑色填充角落。


查看完整回答
反对 回复 2019-08-16
  • 3 回答
  • 0 关注
  • 399 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信