Android開發之ViewPager+Fragment
使用步驟
- 1、Activity的佈局檔案
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" >
</android.support.v4.view.ViewPager>
- 2、載入要顯示的Fragment,這裡要注意,匯入的全部是
android.support.v4.app.Fragment,也就是v4相容包下的Fragment類,至於為什麼,看步驟3
Fragment1 f1 = new Fragment1();
Fragment2 f2 = new Fragment2();
Fragment3 f3 = new Fragment3();
fragmentContainter = new ArrayList<Fragment>();
fragmentContainter.add(f1);
fragmentContainter.add(f2);
fragmentContainter.add(f3);
- 3、用FragmentPagerAdapter關聯上面的Fragment和ViewPager,
FragmentPagerAdapter (android.support.v4.app.FragmentPagerAdapter)
繼承自 PagerAdapter。相比通用的 PagerAdapter,該類更專注於每一頁均為 Fragment 的情況。我們只需要實現 getCount() 和 getItem()即可,從getItem()可以看出,它返回的是v4的Fragment,所以2中的問題答案就在這裡了~~
pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager())
{
@Override
public int getCount()
{
return fragmentContainter.size();
}
@Override
public android.support.v4.app.Fragment getItem(int arg0)
{
return fragmentContainter.get(arg0);
}
});
這樣就可以實現滑動Fragment
重要的話
-
PageAdapter 是 FragmentPagerAdapter 以及 FragmentStatePagerAdapter 的基類,可以將上面的替換成FragmentStatePagerAdapter 。
-
FragmentStatePagerAdapter 和 FragmentPagerAdapter 的區別: FragmentPagerAdapter使用時,每一個生成的 Fragment 都將儲存在記憶體之中,而 FragmentStatePagerAdapter 只保留了當前顯示的Fragment,其他劃過的Fragment離開視線後,就會被銷燬;而在頁面需要顯示時,再生成新的例項(可以通過列印Fragment的生命週期來檢視,這裡就不貼上了)。這麼實現的好處就是當擁有大量的頁面時,不必在記憶體中佔用大量的記憶體。
相關文章
- android開發 之 Bolts-AndroidAndroid
- Android API開發之OpenGL開發之Android OpenGL STL詳解AndroidAPI
- Android開發之常用佈局Android
- Android開發工具類之DownloadManagerProAndroid
- android 開發之 APT 技術AndroidAPT
- Android JNI開發系列之配置Android
- Android NDK開發之JNI基礎Android
- Mac之Android Studio開發NDK入門MacAndroid
- Android開發之指令碼替換PackageNameAndroid指令碼Package
- Android Native 開發之 NewString 與 NewStringUtf 解析Android
- Android開發之執行緒間通訊Android執行緒
- Android開發之跟蹤應用更新大小Android
- Android之五大應用開發框架Android框架
- Android NDK 開發之 CMake 必知必會Android
- Android JNI開發系列之Java與C相互呼叫AndroidJava
- react-native&android 之開發問題篇一ReactAndroid
- Android開發之平板和橫豎屏適配-RecyclerViewAndroidView
- Android 高質量開發之崩潰最佳化Android
- Android安全開發之淺談金鑰硬編碼Android
- Android之NDK開發錯誤 error: unknown type name 'JNIEXPORT'AndroidErrorExport
- Android NDK開發之引入第三方庫Android
- Android開發之無侵入式修改TabLayout tabIndicator寬度AndroidTabLayoutIndicator
- Android 開發感想Android
- 【Android開發入門教程】四.使用者介面之LayoutAndroid
- Android開發之--visibility屬性VISIBLE、INVISIBLE、GONE的區別AndroidGo
- 聚焦 Android 11: Android 開發者工具Android
- 【為生活開發系列之五】開源Android福彩號碼對比助手Android
- Android開發 - Context解析AndroidContext
- Android開發筆記Android筆記
- Android開發隨記Android
- Ndk 初步開發 In AndroidAndroid
- Android Camera開發指南Android
- 搭建直播平臺,Android開發之禁止下拉通知欄的方法Android
- Android開發中Kotlin之於java那些不一樣的功能AndroidKotlinJava
- Android開發之監聽軟鍵盤狀態(彈出收回)Android
- Android開發之自定義隨機驗證碼控制元件Android隨機控制元件
- Android Jetpack - Android TV 應用開發教程AndroidJetpack
- Android開發之從零開始學RxJava 2.x(一)認識RxjavaAndroidRxJava
- Java開發和Android開發的區別JavaAndroid