这里记录两个问题
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);