屏幕适配基础图标
drawable 选择器, shape标签 ,帧动画列表 密度值 分辨率 密度比
drawable-ldpi 低分辨率目录 120 240320 0.75 公式 密度值除160
drawable-mdpi 中等分辨率目录 160 320480 1
drawable-hdpi 高分辨率目录 240 480800 1.5
drawable-xhdpi 特高分辨率目录 320 7201280 2
drawable-xxhpi 超高分辨率目录 480 1080*1920 3
drawable-xxxhdpi 超超高分辨率目录
在屏幕密度是120的手机上 1dp=0.75px
在屏幕密度是160的手机上 1dp=1px
在屏幕密度是240的手机上 1dp=1.5px
在屏幕密度是320的手机上 1dp=2px
在屏幕密度是480的手机上 1dp=3px
在屏幕密度是640的手机上 1dp=4px
宽度是100px 160 100dp
宽度是100px 240 66.7dp
宽度是100px 320 50dp
宽度是100px 480 33.3dp
宽度是100px 640 25dp
适配市场上主流的手机屏幕(流量研究院,全域罗盘)
今日头条适配
大概的实现原理:
px = dp * density
当前设备屏幕总宽度(单位为像素)/ 设计图总宽度(单位为 dp) = density
mPx:当前设备屏幕总宽度(变化)
mDp:设计图总宽度(不变)
mDensity: mPx/mDp 系数比(变化)
1.假设当前设备的屏幕总宽度为1080px,当前设计图总宽度为375dp,根据以上计算出mDensity为2.88
屏幕上有一个50dp50dp的控件,转化为px是50dp2.88=144px
144px/1080px=0.133 即此控件占屏幕的实际比例为0.133
2.假设当前设备的屏幕总宽度为1440 px,当前设计图总宽度为375dp,根据以上计算出mDensity为 3.84
屏幕上有一个50dp50dp的控件,转化为px是50dp 3.84= 192px
192px/1080px=0.133 即此控件占屏幕的实际比例为0.133
由此可看出,随着屏幕大小的变化,控件的实际占比是一样的
第一步:
1.使用步骤:
implementation 'me.jessyan:autosize:1.2.1'
2.声明设计图中的尺寸(如果项目完全使用副单位, 则可以直接以像素为单位填写 AndroidManifest 中需要填写的设计图尺寸, 不需再把像素转化为 dp)
<manifest>
<application>
<meta-data
android:name="design_width_in_dp"
android:value="360"/>
<meta-data
android:name

本文详细讲解了如何在不同屏幕密度下使用drawable选择器、shape标签和帧动画,通过密度值和分辨率密度比来确保UI在各种设备上的一致性,以及今日头条适配策略,包括安卓AutoSize库的配置和实践实例。
最低0.47元/天 解锁文章
933





