private void showPopupView() { if (mPopupWindow == null) { View view = getLayoutInflater().inflate(R.layout.newest_layout, null); mPopupWindow = new PopupWindow(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); mPopupWindow.setFocusable(true);//需要设置为ture,表示可以聚焦 //需要设置背景,用物理键返回的时候 mPopupWindow.setBackgroundDrawable(new BitmapDrawable(getResources())); mPopupWindow.setOutsideTouchable(true); view.setOnTouchListener(new OnTouchListener()// 需要设置,点击之后取消popupview,即使点击外面,也可以捕获事件 { public boolean onTouch(View v, MotionEvent event) { if (mPopupWindow.isShowing()) { Trace.Log("-------------------onTouch------------"); mPopupWindow.dismiss(); } return false; } }); } if (mPopupWindow.isShowing()) { mPopupWindow.dismiss(); } else { View parent = findViewById(R.id.newest); mPopupWindow.showAsDropDown(parent);// 显示再指定控件的下面 } }
【Android PopupWindow 点击外面取消实现代码】相关文章:
★ android客户端从服务器端获取json数据并解析的实现代码
★ Android 判断SIM卡属于哪个移动运营商的实现代码
★ Android点亮屏幕或屏幕解锁和锁定以及其他相关权限实现代码
★ Android在listview添加checkbox实现原理与代码
★ Android在OnCreate中获取控件的宽度和高度的实现代码