android 项目中的屏幕适配方案

1.## smallestWidth 官方支持的限定符方案,smallestWidth插件 生成对应的屏幕下的dp 需要设置基础dp 与设计图对齐

2.手撸一套适配方案,这种就是接手的老项目,一点小修改,直接用smallestWidth 会把之前老代码搞出问题。只用于新代码 xml那种适配就不合适了

js 复制代码
/**
* 计算原理
* 比值计算 设计图比值 = 设计图宽度 / 设计图密度
* 实际px值/实际一屏的宽度px值 = 设计图标记宽度比值/设计图一屏宽度比值
* 然后根据实际px值 换算出实际 sp dp
* 设计图密度计算
* //设计图的ppi 英寸是基准计算用的与160 一样
* epicPpi = 开根号(宽平方+高平方)/ 英寸 = 每寸像素个数
* //设计图的密度
* epicDensity = epicPpi / 160
* 比值计算
* //设计图一屏宽度比值
* epicBaseWidth = 设计图的宽度 / epicDensity
* //设计图标记宽度比值
* epic = 设计图上控件的 px / epicDensity
* //实际px值
* (epic * context.resources.displayMetrics.widthPixels / epicBaseWidth).toFloat()
*/

宽度百分比,高度自适应

相关推荐
沐怡旸3 分钟前
【Android】Dalvik 对比 ART
android·面试
消失的旧时光-194323 分钟前
Android NDK 完全学习指南:从入门到精通
android
消失的旧时光-19431 小时前
Kotlin 协程实践:深入理解 SupervisorJob、CoroutineScope、Dispatcher 与取消机制
android·开发语言·kotlin
2501_915921431 小时前
iOS 26 描述文件管理与开发环境配置 多工具协作的实战指南
android·macos·ios·小程序·uni-app·cocoa·iphone
2501_915909061 小时前
iOS 抓包实战 从原理到复现、定位与真机取证全流程
android·ios·小程序·https·uni-app·iphone·webview
2501_915106322 小时前
HBuilder 上架 iOS 应用全流程指南:从云打包到开心上架(Appuploader)上传的跨平台发布实践
android·ios·小程序·https·uni-app·iphone·webview
Meteors.2 小时前
安卓进阶——Material Design库
android·安卓
佳哥的技术分享2 小时前
kotlin基于MVVM架构构建项目
android·开发语言·kotlin
折翅鵬2 小时前
Flutter兼容性问题:Could not get unknown property ‘flutter‘ for extension ‘android‘
android·flutter
2501_916007473 小时前
免费iOS加固方案指南
android·macos·ios·小程序·uni-app·cocoa·iphone