调试了很长时间,要使弹出的popwindow点击以外的区域可以关闭,并且popWindow里的控件能响应点击事件
一:初始化popupWindow
popupWindow = new PopupWindow(popMenuLayout, LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
popupWindow.setFocusable(true);
popupWindow.setTouchable(true);
// 设置允许在外点击消失
popupWindow.setOutsideTouchable(true);
ColorDrawable dw = new ColorDrawable(123456);
popupWindow.setBackgroundDrawable(dw);
//popupWindow.setAnimationStyle(android.R.style.Animation_Translucent); 动画效果
popupWindow.update();
假设view对象为childView。
childView.setFocusableInTouchMode(true);
childView.setOnKeyListener(this);
要对OnKey事件响应,处理back键
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
switch (event.getAction()) {
case KeyEvent.ACTION_DOWN:
if (keyCode == KeyEvent.KEYCODE_MENU
|| keyCode == KeyEvent.KEYCODE_BACK) {
if (popupWindow != null && bPopMenuShow) {
popupWindow.dismiss();
}
}
break;
}
return false;
}
也可以设置popupWindow的dismiss事件
popupWindow.setOnDismissListener(this);
popupwindow设置相对于锚点view的位置并显示。
popupWindow.showAsDropDown(parentView, x, y);
其他资源
一 、PopupWindow基础知识介绍
1.使用PopupWindow创建一个简单的菜单
http://www.apkbus.com/android-17982-1-1.html
2.Android的自定义PopupWindow实现的菜单(TabMenu)
http://www.apkbus.com/android-13897-1-1.html
3.Android入门第十篇之PopupWindow
http://www.apkbus.com/android-211-1-1.html
4.自定义PopupWindow动画效果
http://www.apkbus.com/android-14645-1-1.html
5.Android开发:实现popupwindow中显示listview
http://www.apkbus.com/android-3867-1-1.html
6.PopupWindow实现弹出窗口
http://www.apkbus.com/android-14427-1-1.html
二、PopupWindow实例教程
1.仿微信UI设计、PopupWindow的使用、selector等xml资源
http://www.apkbus.com/android-43549-1-1.html
2.android弹出窗口的实现(PopupWindow)
http://www.apkbus.com/android-39868-1-1.html
3.利用PopupWindow实现窗口悬浮效果
http://www.apkbus.com/android-18647-1-1.html
4.android popupwindow 动画 特效 案例
http://www.apkbus.com/android-20120-1-1.html
三、PopupWindow实例源码下载
1.实现半透明的popupwindow的源码
http://www.apkbus.com/android-2474-1-1.html
2.Popupwindow泡泡效果
http://www.apkbus.com/android-19098-1-1.html
3.PopupWindow定位全解析
http://www.apkbus.com/android-50995-1-1.html
4.多级PopupWindow的小demo
http://www.apkbus.com/android-50996-1-1.html