Android Activity嵌套Fragment横竖屏切换实现
Android 里 Activity 嵌套 Fragment 的横竖屏切换实现,确实挺常用也容易踩坑。我之前折腾 Tab 切换时就用到了 ViewPager 加多个 Fragment,滑动流畅,页面也清晰。
布局里的FrameLayout
是个万能容器,用来装 Fragment 再合适不过了。你只需要在Activity
的onCreate()
里用FragmentManager
加点逻辑,Fragment 就能灵活切换。
ViewPager的加入,让左右滑动切 Fragment 更丝滑。记得用FragmentStatePagerAdapter
,这个比较省内存,页面多了也不怕。适配器里要重写getItem()
和getCount()
,简单明了。
说到横竖屏切换,最关键的还是避免 Activity 重建。你可以直接在AndroidManifest.xml
里加上android:configChanges="orientation|screenSize"
,再重写onConfigurationChanged()
就能搞定了。布局适配也不难,搞两个布局文件,一个放res/layout
,另一个放res/layout-land
就行。
如果你还在为横竖屏切换搞得焦头烂额,强烈建议你看下这个方案。搭配下面这些文章一起看,理解更到位:
- Android Fragment 横竖屏适配方案
- Fragment + ViewPager 的应用
- ViewPager 切换 activity
- Activity 的生命周期以及横屏竖屏切换时 Activity 的状态变化
如果你要做 Tab 布局、内容切换或者复杂页面结构,Activity+Fragment+ViewPager 的组合真是太合适了。再顺手搞定横竖屏切换,体验就到位了~
2.36MB
文件大小:
评论区