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()
*/

宽度百分比,高度自适应

相关推荐
sweetying19 分钟前
30了,人生按部就班
android·程序员
用户2018792831671 小时前
Binder驱动缓冲区的工作机制答疑
android
真夜1 小时前
关于rngh手势与Slider组件手势与事件冲突解决问题记录
android·javascript·app
用户2018792831671 小时前
浅析Binder通信的三种调用方式
android
用户091 小时前
深入了解 Android 16KB内存页面
android·kotlin
火车叼位2 小时前
Android Studio与命令行Gradle表现不一致问题分析
android
前行的小黑炭4 小时前
【Android】 Context使用不当,存在内存泄漏,语言不生效等等
android·kotlin·app
前行的小黑炭5 小时前
【Android】CoordinatorLayout详解;实现一个交互动画的效果(上滑隐藏,下滑出现);附例子
android·kotlin·app
用户20187928316717 小时前
Android黑夜白天模式切换原理分析
android
芦半山18 小时前
「幽灵调用」背后的真相:一个隐藏多年的Android原生Bug
android