Fragment中使用TabLayout+ViewPager+Fragment切换界面丢失问题

这里记录两个问题

ViewPager内容丢失问题

由于之前使用viewPager搭配fragment在然后托管在Activity中可以左右滑动来实现一个卡片滑动的效果。
但是这次将他们(ViewPager)托管在一个Fragment中的时候发现在当前fragment中切换时候界面没有问题,一旦切出去另外的NavigationView时候再回来,viewPage中的内容就消失掉了。
所以说在fragment中使用Switch来切换viewPager切换时候应该使用

如果需要显示的界面并不是很多的情况下可以使用FragmentStatePagerAdapter来代替FragmentPagerAdapter虽然两个都是继承PagerAdapter,但是前者可以回收pager中的view,切换时候再刷新,这样在相对动态的界面可以保证数据的最新而不会丢失视图。

设置全屏显示失效问题

一般情况可以在andrmainfest文件中application对应的属性下添加

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

还可以在活动中onCreate()函数中使用,但是要在setContentView()之前使用

this.requestWindowFeature(Window.FEATURE_NO_TITLE);// 去标题栏 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);// 去掉Activity上面的状态栏 

然后当我这样设置的时候发现并没有去掉app标题,这样的原因来自于v4和v7两个包的问题。activity继承了AppComPatActiviry,属于v7包,可以将其改为Activity。还有可以使用

//v7包下去除标题栏代码:
getSupportActionBar().hide();   
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容