我有一个弹出窗口,我希望当用户触摸外面时它关闭,所以我调查并发现我必须使用popup.setBackgroundDrawable(new BitmapDrawable());
。问题是构造函数new BitmpaDrawable()
已被弃用。我想在不使用的情况下找到解决方案。
有人知道如何解决这个问题吗?
谢谢!
final PopupWindow popup = new PopupWindow(sortByView,
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
true);
popup.setBackgroundDrawable(new BitmapDrawable());
popup.setOutsideTouchable(true);
popup.showAsDropDown(v);
我必须做什么才能让它工作:
popup.setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(context, android.R.color.transparent)));
popup.setOutsideTouchable(true);
嗯 setBackgroundDrawable 不要关闭弹出窗口。我认为弹出窗口的默认行为是在触摸外部时关闭,但您可以添加 on 像那样关闭侦听器
popup.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
popup.dismiss();
// end may TODO anything else
}
});
你可以
试试。
popup.setBackgroundDrawable(new BitmapDrawable(getResources(),
""));