popupWindow = new PopupWindow(popupWindow_view, 300, 200, true)
popupWindow.setOutsideTouchable(true)
popupWindow.setFocusable(false)
popupWindow.showAtLocation(findViewById(R.id.Detail), Gravity.CENTER, 0, 0)
这个popupwindow的实现方法大家可以上网上找,很多实例我就不详细说了,大概就是上面这几行代码,其他的按钮什么的用
popupWindow.findviewbyid()就能获取到,进行onclick事件就行,这里面主要有用的是
popupWindow.setOutsideTouchable(true)
popupWindow.setFocusable(false)这两行,当你吧这两行写上之后,你会发现后面的界面你也是可以点击的,而不是像alertdialog那样将后面的pause了,然后再修改onTouchEvent方法
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if (popupWindow != null &&popupWindow.isShowing()) {
popupWindow.dismiss()
}
return super.onTouchEvent(event)
}
其实还有另一种方法:popwindow设为全屏那么大,然后原来想要的d窗在布局里面加一个框框摆到合适的位置来实现,最后根布局实例化,设置点击事件dissmis。
根布局可以设一个黑色半透明的颜色来凸显框框的效果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)