Android 关于尺寸适配的那点事

尺寸适配: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"

- 代码适配

    获取屏幕宽高,动态计算控件大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值