美文网首页Android
第三方开源库之 AndroidAutoSize

第三方开源库之 AndroidAutoSize

作者: Kevin_小飞象 | 来源:发表于2019-12-06 16:32 被阅读0次

    目前版本 1.1.2
    GitHub 地址:https://github.com/JessYanCoding/AndroidAutoSize

    简介

    今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案。

    使用

    1. 在 app/build.gradle 中添加如下依赖:
    implementation 'me.jessyan:autosize:1.1.2'
    
    1. 填写设计图尺寸
    <application>   
              ...         
            <!-- 屏幕适配 -->
            <meta-data
                android:name="design_width_in_dp"
                android:value="375" />
            <meta-data
                android:name="android.max_aspect"
                android:value="2.1" /><!-- 注:适配android6.0以上拍照问题 -->    
         </application>  
    
    1. BaseApplication.java
    package com.epro.test.setting;
    
    import android.app.Application;
    
    import me.jessyan.autosize.AutoSizeConfig;
    import me.jessyan.autosize.unit.Subunits;
    
    /**
     * Created on 2019/12/6 16:14
     *
     * @author Gong Youqiang
     */
    public class BaseApplication extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
    
            //今日头条屏幕适配
            configUnits();
        }
    
        private void configUnits() {
            //AndroidAutoSize 默认开启对 dp 的支持, 调用 UnitsManager.setSupportDP(false); 可以关闭对 dp 的支持
            //主单位 dp 和 副单位可以同时开启的原因是, 对于旧项目中已经使用了 dp 进行布局的页面的兼容
            //让开发者的旧项目可以渐进式的从 dp 切换到副单位, 即新页面用副单位进行布局, 然后抽时间逐渐的将旧页面的布局单位从 dp 改为副单位
            //最后将 dp 全部改为副单位后, 再使用 UnitsManager.setSupportDP(false); 将 dp 的支持关闭, 彻底隔离修改 density 所造成的不良影响
            //如果项目完全使用副单位, 则可以直接以像素为单位填写 AndroidManifest 中需要填写的设计图尺寸, 不需再把像素转化为 dp
            AutoSizeConfig.getInstance().getUnitsManager().setSupportDP(true)
    
                    //AndroidAutoSize 默认开启对 sp 的支持, 调用 UnitsManager.setSupportSP(false); 可以关闭对 sp 的支持
                    //如果关闭对 sp 的支持, 在布局时就应该使用副单位填写字体的尺寸
                    //如果开启 sp, 对其他三方库控件影响不大, 也可以不关闭对 sp 的支持, 这里我就继续开启 sp, 请自行斟酌自己的项目是否需要关闭对 sp 的支持
    //                .setSupportSP(false)
    
                    //AndroidAutoSize 默认不支持副单位, 调用 UnitsManager#setSupportSubunits() 可选择一个自己心仪的副单位, 并开启对副单位的支持
                    //只能在 pt、in、mm 这三个冷门单位中选择一个作为副单位, 三个单位的适配效果其实都是一样的, 您觉的哪个单位看起顺眼就用哪个
                    //您选择什么单位就在 layout 文件中用什么单位进行布局, 我选择用 mm 为单位进行布局, 因为 mm 翻译为中文是妹妹的意思
                    //如果大家生活中没有妹妹, 那我们就让项目中最不缺的就是妹妹!
                    .setSupportSubunits(Subunits.MM);
        }
    }
    
    

    相关文章

      网友评论

        本文标题:第三方开源库之 AndroidAutoSize

        本文链接:https://www.haomeiwen.com/subject/qvjegctx.html