Android屏幕适配

一开始,公司配置的硬件参数如下:

widthPixels:1280 
heightPixels:732 
density:1.25 
densityDpi:200

后来要更换硬件改成:宽:1280____高:752____密度:1.0___密度dpi:160

程序运行出来发现图片变小 字体变小 内容整体上移 

O^O 我是个对适配一窍不通的万年菜鸟啊 、

后来在网上都适配方案 借鉴博客 今日头条屏幕适配方案 看完之后道理都懂 但是不会写 >_< 索性大佬给了代码 但是是kotlin。转成java代码如下:

    public static void ScreenAdapter(Activity activity, Application application){

        DisplayMetrics displayMetrics1 = application.getResources().getDisplayMetrics();
        DisplayMetrics displayMetrics2 = activity.getResources().getDisplayMetrics();

//        float targetDensity = displayMetrics1.widthPixels/960;
//        float targetDensityDpi = 160*targetDensity;

        float targetDensity = (float) 1.25;
        float targetDensityDpi = 160*targetDensity;

        displayMetrics1.density = targetDensity;
        displayMetrics1.scaledDensity = targetDensity;
        displayMetrics1.densityDpi = (int) targetDensityDpi;

        displayMetrics2.density = targetDensity;
        displayMetrics2.scaledDensity = targetDensity;
        displayMetrics2.densityDpi = (int) targetDensityDpi;

    }

注释的是原来大佬写的 但是我写的值要么太大要么太小 我直接换成公司本来硬件的参数了 、就完了0v0 

道理还是要讲一下的:

在开发中xml中不要用物理像素px,因为这样不能随着屏幕大小而变化,当然大家都知道,用的都是dp,这个才可以根据硬件设备的密度参数和转换公式px = densityDpi/160*dp适配屏幕大小。就是这样喵。

之后我们再改变设备的参数即可。

目前只能这样肤浅地理解。又不是不能用.JPG

另外图片的mipmap的选择 根据density或者densityDpi 这个博客讲了Android开发使用mipmap文件夹的正确姿势: px 、dpi 、dp

就完了0v0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值