Android Fragment 横竖屏适配方案

Fragment 作为 Android 开发中的重要组件,在处理横竖屏切换时需要进行适配以确保界面布局和数据的一致性。以下是一些常见的横竖屏适配方案:

1. 利用资源 qualifiers 进行布局适配:

  • 创建不同的布局文件,分别放在 res/layout-land (横屏) 和 res/layout-port (竖屏) 目录下。
  • 在代码中无需进行额外判断,系统会根据设备方向自动加载对应的布局文件。

2. 动态加载 Fragment:

  • ActivityonCreate() 方法中,根据当前设备方向选择性地添加 Fragment。
  • 可以使用 FragmentManagerFragmentTransaction 完成 Fragment 的添加和移除操作。

3. 使用 onConfigurationChanged() 方法:

  • 重写 Activity 的 onConfigurationChanged() 方法,在该方法中监听设备方向的变化。
  • 当设备方向发生改变时,根据需要更新 Fragment 的布局或数据。

选择合适的方案取决于具体的应用场景和需求。开发者需要根据实际情况进行权衡和选择。

rar
Fragments.rar 预估大小:63个文件
folder
Fragments 文件夹
file
.project 845B
folder
bin 文件夹
file
AndroidManifest.xml 1KB
file
jarlist.cache 120B
folder
dexedLibs 文件夹
file
android-support-v4-37841acdfc77ba4d91ff46e1d8136c8b.jar 227KB
folder
res 文件夹
folder
crunch 文件夹
folder
drawable-hdpi 文件夹
file
ic_launcher.png 1KB
folder
drawable-mdpi 文件夹
file
ic_launcher.png 845B
folder
drawable-xhdpi 文件夹
file
ic_launcher.png 1KB
folder
drawable-xxhdpi 文件夹
file
ic_launcher.png 2KB
file
resources.ap_ 14KB
folder
classes 文件夹
folder
com 文件夹
folder
example 文件夹
folder
fragments 文件夹
file
R$string.class 481B
file
R$layout.class 642B
file
MenuFragment$1.class 2KB
file
MainActivity.class 979B
file
R$dimen.class 470B
file
R$drawable.class 416B
file
Fragment1Activity.class 538B
file
R$menu.class 397B
file
R.class 703B
file
Fragment2.class 842B
file
R$style.class 440B
file
MenuFragment.class 2KB
file
BuildConfig.class 351B
file
Fragment1.class 842B
file
Fragment2Activity.class 538B
file
R$attr.class 349B
file
R$id.class 613B
file
Fragments.apk 247KB
file
classes.dex 676KB
folder
.settings 文件夹
file
org.eclipse.jdt.core.prefs 177B
file
ic_launcher-web.png 8KB
file
AndroidManifest.xml 1KB
file
proguard-project.txt 781B
folder
libs 文件夹
file
android-support-v4.jar 607KB
folder
src 文件夹
folder
com 文件夹
folder
example 文件夹
folder
fragments 文件夹
file
MenuFragment.java 3KB
file
Fragment1.java 823B
file
Fragment1Activity.java 678B
file
Fragment2Activity.java 641B
file
MainActivity.java 597B
file
Fragment2.java 817B
file
project.properties 563B
folder
res 文件夹
folder
values 文件夹
file
styles.xml 697B
file
strings.xml 226B
file
dimens.xml 220B
folder
values-sw720dp-land 文件夹
file
dimens.xml 277B
folder
layout 文件夹
file
activity_main.xml 480B
file
fragments2.xml 507B
file
fragment2_activity.xml 260B
file
activity_main_hor.xml 924B
file
fragments1.xml 510B
file
menu_fragment.xml 414B
file
fragment1_activity.xml 260B
folder
drawable-ldpi 文件夹
folder
drawable-hdpi 文件夹
file
ic_launcher.png 1KB
folder
values-v11 文件夹
file
styles.xml 334B
folder
drawable-mdpi 文件夹
file
ic_launcher.png 685B
folder
values-sw600dp 文件夹
file
dimens.xml 203B
folder
drawable-xhdpi 文件夹
file
ic_launcher.png 1KB
folder
drawable-xxhdpi 文件夹
file
ic_launcher.png 2KB
folder
layout-large 文件夹
file
activity_main.xml 797B
folder
menu 文件夹
file
main.xml 263B
folder
values-v14 文件夹
file
styles.xml 391B
file
.classpath 475B
folder
gen 文件夹
folder
com 文件夹
folder
example 文件夹
folder
fragments 文件夹
file
R.java 3KB
file
BuildConfig.java 163B
folder
assets 文件夹
...
rar 文件大小:1.22MB