我在我的項目中使用PopupWindow
。 當觸摸顯示器時我無法解僱它。我試過:如何解僱PopupWindow whem點擊外部?
@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);
我試過setBackgroundDrawable
上PopupWindow
都不行。我怎樣才能解僱這個彈出窗口????????????
我的答案是否適合你? –