阅读 23

Android简单的屏幕适配

参考地址: www.jianshu.com/p/4aa23d69d… 参考地址: mp.weixin.qq.com/s/d9QCoBP6k…

为什么适配,安卓手机太多,在屏幕密度高的手机布,小屏幕手机显示不全;小屏幕手机布,大屏幕显示留有空白太多,原理根据dp转px显示最终效果

android中的dp在渲染前会将dp转为px,计算公式:

px = density * dp;

density = dpi / 160;

px = dp * (dpi / 160);

而dpi是根据屏幕真实的分辨率和尺寸来计算的,每个设备都可能不一样的。

今日头条屏幕适配方案优化的屏幕适配框架 AndroidAutoSize基本使用

1依赖 implementation 'me.jessyan:autosize:1.1.2'

2将 AndroidAutoSize 引入项目后只要在 app 的 AndroidManifest.xml填写上设计图尺寸

    <meta-data
        android:name="design_width_in_dp"
        android:value="360"/>
    <meta-data
        android:name="design_height_in_dp"
        android:value="640"/>
复制代码

3混淆

-keep class me.jessyan.autosize.** { *; }

-keep interface me.jessyan.autosize.** { *; }

4适配遇到的问题

①影响原来项目中某个Fragment,放弃适配实现 CancelAdapt 接口

开启对 Fragment 的支持,不添加直接实现没效果
AutoSizeConfig.getInstance().setCustomFragment(true);
某个Fragmen实现CancelAdapt 
复制代码

②布局的字体图片效果确实大了点,感觉还行

5没适配前的问题

页面显示在小屏幕手机显示不全,用ScrollView滑动解决;其他图片适配、代码适配、权重适配等使用得当即可

关注下面的标签,发现更多相似文章
评论