关于PopupWindow中无法嵌套viewpager+Fragment的解决办法!

在使用PopupWindow创建弹出窗口并尝试嵌套ViewPager+Fragment时,会出现找不到ID的错误。错误源于FragmentAdapter查找ViewPager时使用的是Activity的FragmentManager。解决方法是改用DialogFragment,但在使用过程中可能会遇到无法全屏显示的问题。通过继承DialogFragment并在onCreateView中调整布局,最终成功解决了全屏显示和嵌套问题。
摘要由CSDN通过智能技术生成

许多人在创建弹出窗口的时候都选择 用PopupWindow实现,但是如果弹出传窗口内包含Fragment的时候你会发现找不到对应的ID

错误原因大概是:因为FragmentAdapter传入的是Activity的FragmentManger,所以默认是在Activity的布局xml中寻找ViewPager的定义,但是实际上它是在弹出的View里定义的。


解决办法:

放弃使用PopupWindow使用DialogFragment,但是当我使用DialogFragment的时候我有踩到一坑,就是无法铺满全屏,遂百度之......

最后的解决办法是:

继承DialogFragment后在OnCreatView中写如下代码:

1.//去出标题
getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
2.//放置位置
Window window = getDialog().getWindow();
window.setGravity(Gravity.TOP | Gravity.
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值