引言
首先关于 Android App 如何进行平板适配,推进阅读文章:【Android平板适配】手机/平板二合一应用一站式适配攻略@尼特胡
其中需要注意的点在这里写出来:
1.如何使 Activity 不会因为切换横竖屏自动重启
在 AndroidManifest.xml 中的 Activity 节点增加以下配置:
<activity
...
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation" />
2.如何判断是否为平板及横屏
要判断当前是否为横屏,可以使用以下办法判断:
public static boolean isTablet() {
return (getInstance().getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;
}
当前是否是横屏可以使用以下办法判断:
private static boolean isLandscape(Activity activity) {
if (activity != null) {
return activity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
}
return false;
}
给未来写封信是如何进行横屏适配的
基础 UI
对于大部分界面,我们进行了评估,基于开发成本考虑没有专门的为平板方式重新设计 UI,而是采用了“兼容”方案进行适配,具体逻辑是,在竖屏时保证所有 UI 界面均可以动态的对窗口大小进行匹配,而不是“等比缩放”的方案进行显示,即,按照以下逻辑,在横屏时对 UI 进行居中适配:
基于这个方案,只需要对 UI 部分进行最大宽度限制即可,对于内容布局,我们改写了内容布局的外层 ViewGroup,使其支持设置 maxWidth 最大宽度:
/**
* @author: Kongzue
* @github: https://github.com/kongzue/