Android 官方屏幕适配之ScreenMatch

背景:

Android 项目的一个app需要适配手机+平板,为了一套UI和可以适配2个不同屏幕,记录一个适配的技巧:

前提,使用这个框架:GitHub - wildma/ScreenAdaptation: :fire:一种非常好用的 Android 屏幕适配------smallestWidth 限定符适配 https://www.jianshu.com/p/1302ad5a4b04

场景1:一套UI适配手机+平板

1.1 以手机的设计稿为准;

1.2 screenMatch.properties,base_dp=414 (414为设计稿的宽度)

1.3 生成的dimens.xml只要这些就够,多的全部删除。

复制代码
match_dp=240,320,384,392,400,410,411,414

场景2:手机和平板分开适配

2.1 layout文件写2个

2.2 screenMatch.properties,base_dp=414 为手机的设计稿为准,平板的宽度在蓝湖上要转换成414,和手机保持一致;

2.3 然后就可以根据各自的设计稿设计,程序运行时候动态判断要加载那个layout文件

2.4 生成的dimens.xml按照默认的生产,尽量全,不要删除。

match_dp=240,320,384,392,400,410,411,414,480,533,592,600,640,662,711,720,768,800,811,820,938,960,961,1024,1280,1365

复制代码

最好的适配效果是第2种,但是都需要开发2套UI,工作量大,要求不高的按照第1套来就行,

个别有问题的,在代码中判断平板再动态调整一下。

相关推荐
sunbofiy231 天前
去掉安卓的“读取已安装应用列表”,隐私合规
android
cch89181 天前
DCATAdmin后台框架极速上手
android
Ehtan_Zheng1 天前
ActivityMetricsLogger 深度剖析:系统如何追踪启动耗时
android
用户69371750013841 天前
Android 开发,别只钻技术一亩三分地,也该学点“广度”了
android·前端·后端
唔661 天前
原生 Android(Kotlin)仅串口「继承架构」完整案例二
android·开发语言·kotlin
一直都在5721 天前
MySQL索引优化
android·数据库·mysql
代码s贝多芬的音符1 天前
android mlkit 实现仰卧起坐和俯卧撑识别
android
jwn9991 天前
Laravel9.x核心特性全解析
android
今天又在写代码1 天前
数据智能分析平台部署服务器
android·服务器·adb
梦里花开知多少1 天前
深入谈谈Launcher的启动流程
android·架构