当我们已经弹出popupwindow后,想让它单击窗体或者窗体外消失,或者按手机的返回键让其消失。

1、单击窗体view消失

view.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View v) {

Log.i(TAG,view clicked");

}

pop.dismiss();

});

view是窗体中的一个控件,单击view,用dismiss可以将popupwindow消失掉!


2、单击窗体外消失

/ / 创建PopupWindow对象

LayoutInflater inflater = LayoutInflater.from(this);

View view = inflater.inflate(R.layout.popmenu_location, null); // 引入窗口配置文件

pop = new PopupWindow(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, false);

ColorDrawable cd = new ColorDrawable(-0000);

pop.setBackgroundDrawable(cd);//设置窗体的背景,这样窗体外单击触摸才会消失,但这不会影响xml文件中配置好的背景

pop.setOutsideTouchable(true);//窗体外单击触摸消失

pop.setFocusable(true); //窗体获得焦点,否则无法点击

红色字体的不可少,因为android中认为有背景的,单击外部才会消失。

3、按手机的返回键让其消失

@Override//按手机的返回键,窗体消失
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && popisshow) {
pop.dismiss();
}
return super.onKeyDown(keyCode, event);
}

以上这些来自于网友lee0oo0博客的启发!希望对你们有帮助!



更多相关文章

  1. Android应用程序“.R文件”消失怎么办
  2. Android(安卓)activity启动关闭时滑动出现消失(并解决activity跳
  3. android窗体透明的,黑暗度等的设置技巧
  4. android 手动设置对话框能否消失
  5. Android玄铁剑之TextView之我要穿越
  6. C#2Android
  7. Android配置心得
  8. Android(安卓)ListView实现单击item出现删除按钮以及滑动出现删
  9. htc android操作

随机推荐

  1. Android弹性动画三种实现方式
  2. Android studio使用lambda表达式
  3. Android(安卓)APP性能优化之 ---- APK瘦
  4. Android(安卓)中 加载Bitmap时,造成的Out
  5. View机制深入学习(一)
  6. 判断当前网络是否可用和调用系统设置wifi
  7. Android App 防止 后台服务 被杀掉
  8. Android中通过资源文件获取drawable的几
  9. Android View 的工作原理浅析
  10. Application Fundamentals-Components