Android 当我在外边点击时,弹出窗口是如何关闭的?
我在项目中使用Android 当我在外边点击时,弹出窗口是如何关闭的?,android,android-popupwindow,Android,Android Popupwindow,我在项目中使用PopupWindow。 当触摸显示屏时,我不能忽略它。我试过: @Override public void onResume() { super.onResume(); new Handler().postDelayed(new Runnable() { @Override public void run() { View popup = LayoutInfla
PopupWindow
。
当触摸显示屏时,我不能忽略它。我试过:
@Override
public void onResume() {
super.onResume();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
View popup = LayoutInflater.from(getActivity()).inflate(R.layout.popup, null, false);
final PopupWindow popupWindow = new PopupWindow(popup, (int) DpiToPixel.calculateDpToPixel(150, getActivity()),
(int) DpiToPixel.calculateDpToPixel(150, getActivity()), true);
popupWindow.showAtLocation(rootView, Gravity.CENTER, 0, 0);
popup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
popupWindow.dismiss();
}
});
popupWindow.setOutsideTouchable(true);
popupWindow.setTouchable(true);
popupWindow.setBackgroundDrawable(new BitmapDrawable());
popupWindow.setTouchInterceptor(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(getActivity(),"Click!",Toast.LENGTH_LONG).show();
popupWindow.dismiss();
return true;
}
});
}
}, 100L);
}
但它不起作用。我尝试了
popupWindow.setFocusable(true)代码>我在PopupWindow
上尝试了setBackgroundDrawable
,但都不起作用。如何关闭此弹出窗口?????设置BackgroundDrawable
,然后将setOutsideTouchable
参数设置为true
setOutsideTouchable:指示是否将打开弹出窗口
在其窗口外通知触摸事件
或者试试这个:
myPopupWindow.setFocusable(true);
将此语句移动到run()
方法的末尾:
popupWindow.showAtLocation(rootView, Gravity.CENTER, 0, 0);
换句话说,在您完成所有配置呼叫之前,不要显示弹出窗口。我的回答对您有用吗?
popupWindow.showAtLocation(rootView, Gravity.CENTER, 0, 0);