Noy*_*oya 4 android popupwindow ontouchlistener
我正在尝试测试PopupWindow类.我创建了这个方法来显示弹出窗口:
public void showPopup(){
LayoutInflater layoutInflater = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(R.layout.popup, null);
final PopupWindow popup = new PopupWindow(popupView,
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
popup.setOutsideTouchable(true);
popup.setTouchable(true);
popup.setTouchInterceptor(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("POPUP", event.toString());
if(event.getAction() == MotionEvent.ACTION_OUTSIDE){
popup.dismiss();
return true;
}
return true;
}
});
popup.showAtLocation(findViewById(R.id.main), Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 200);
}
Run Code Online (Sandbox Code Playgroud)
弹出窗口正确显示,看起来Touch Interceptor似乎根本不起作用:我没有得到任何日志信息,当然如果按下它之外弹出窗口也不会消失.
我是否需要在弹出窗口或托管它的Activity中设置一些其他属性?
pw.setBackgroundDrawable (new BitmapDrawable());
pw.setFocusable(false);
pw.setOutsideTouchable(true);
Run Code Online (Sandbox Code Playgroud)
使用此代码希望这是有帮助的
| 归档时间: |
|
| 查看次数: |
4470 次 |
| 最近记录: |