尺寸适配:dimens.xml 目前主流分辨率720*1280以及1080*1920
如果在320*480显示没问题,但是在480*800或者1280*720却显示有差异怎么办?
好比大多数App的引导页的三个点,在320*480显示正常,但在480*800却大小有差异。
dp和px的关系:dp = px/设备密度
float density = getResources().getDisplayMetrics().density;
System.out.println("设备密度:" + density);
240*320(0.75), 320*480(1), 480*800(1.5), 720*1280(2) 等等。
values->dimens.xml values-1280*720
可以写一个方法,把dp转换为px
// dp转化为px
public static float dp2px(Context ctx, float dp) {
float density = ctx.getResources().getDisplayMetrics().density;
float px = (dp / density + 0.5f);// 四舍五入4.9 + 0.5 5.4 5 3.4 + 0.5 3.9 4
return px;
}
屏幕适配补充
> 主流屏幕: 1280*720, 遵循原则: 不用AbsoluteLayout(绝对布局), 多用相对布局&线性布局(权重), 要用dp,不用px
>
> 开发后期, 在不同分辨率屏幕上测试(480*800,1920*1080), 如果没出现太大问题(影响正常使用), 就可以上线
>
> 如果后期测出问题怎么办?
- 图片适配
不是很常用
- 布局适配
不是很常用, layout-800x480 专门适配480*800的屏幕
- 尺寸适配
dp和px的关系: dp = px/设备密度
float density = getResources().getDisplayMetrics().density;
System.out.println("设备密度:" + density);
320*240(0.75), 480*320(1),480*800(1.5),1280*720(2)
values->dimens.xml values-1280x720
- 权重适配
android:weightSum="3"
- 代码适配
获取屏幕宽高,动态计算控件大小