PopupWindow 设置点击外部区域不消失

本文详细介绍如何在Android中配置PopupWindow,使其在点击外部区域时不自动消失。通过设置setOutsideTouchable(false), setFocusable(true) 和 setTouchable(true),可以实现这一功能。此外,文章还提供了完整的代码示例,包括创建PopupWindow、设置宽度、高度、内容视图及背景等,并演示了两种显示方式:showAsDropDown和showAtLocation。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PopupWindow默认点击弹框外部区域dismiss

 

想要设置点击外部区域不消失需要设置底下三个方法


popupWindow.setOutsideTouchable(false);
popupWindow.setFocusable(false);
popupWindow.setTouchable(true);

 

完整代码

//创建
PopupWindow popupWindow = new PopupWindow(this);
 
//设置
popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);   
popupWindow.setContentView(LayoutInflater.from(this).inflate(R.layout.dialog_item01, null));
popupWindow.setOutsideTouchable(false);
popupWindow.setFocusable(true);
popupWindow.setTouchable(true);
popupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
 
//显示在控件下面
popupWindow.showAsDropDown(buttonUseCar);
//显示父控件中的指定位置
popupWindow.showAtLocation(cl,Gravity.TOP | Gravity.LEFT, 0, 100);

 

 

Android dialog和popupwiondow的区别

https://blog.youkuaiyun.com/yh18668197127/article/details/84985307

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值