這里記錄兩個問題
ViewPager內(nèi)容丟失問題
由于之前使用viewPager搭配fragment在然后托管在Activity中可以左右滑動來實現(xiàn)一個卡片滑動的效果昵时。
但是這次將他們(ViewPager)托管在一個Fragment中的時候發(fā)現(xiàn)在當(dāng)前fragment中切換時候界面沒有問題椿访,一旦切出去另外的NavigationView時候再回來,viewPage中的內(nèi)容就消失掉了坐昙。
所以說在fragment中使用Switch來切換viewPager切換時候應(yīng)該使用
如果需要顯示的界面并不是很多的情況下可以使用FragmentStatePagerAdapter來代替FragmentPagerAdapter雖然兩個都是繼承PagerAdapter恕出,但是前者可以回收pager中的view唉铜,切換時候再刷新筷屡,這樣在相對動態(tài)的界面可以保證數(shù)據(jù)的最新而不會丟失視圖。
設(shè)置全屏顯示失效問題
一般情況可以在andrmainfest文件中application對應(yīng)的屬性下添加
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
還可以在活動中onCreate()函數(shù)中使用尚骄,但是要在setContentView()之前使用
this.requestWindowFeature(Window.FEATURE_NO_TITLE);// 去標(biāo)題欄
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);// 去掉Activity上面的狀態(tài)欄
然后當(dāng)我這樣設(shè)置的時候發(fā)現(xiàn)并沒有去掉app標(biāo)題块差,這樣的原因來自于v4和v7兩個包的問題。activity繼承了AppComPatActiviry倔丈,屬于v7包憨闰,可以將其改為Activity。還有可以使用
//v7包下去除標(biāo)題欄代碼:
getSupportActionBar().hide();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);