许多人在创建弹出窗口的时候都选择 用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.