今日头条适配

446 阅读1分钟

app>build.gradle配置 Jcenter

dependencies {
    /*今日头条适配*/
    implementation 'me.jessyan:autosize:1.2.1'
}

JitPack 第一步

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

第二步

dependencies {
    implementation 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1'
}

AndroidManifest配置 如果用dp单位

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

如果只使用副单位 (pt、in、mm) 就可以直接以像素作为单位填写设计图的尺寸, 不需再把像素转化为 dp

<meta-data
    android:name="design_width_in_dp"
    android:value="720"/>
<meta-data
    android:name="design_height_in_dp"
    android:value="1280"/>

如果不使用dp单位,BaseApplication配置

AutoSizeConfig.getInstance().getUnitsManager()
        .setSupportDP(false)
        .setSupportSubunits(Subunits.MM);

当某个Activity的设计图尺寸与AndroidManifest中填写的全局设计图尺寸不同时,可以实现CustomAdapt 接口扩展适配参数 继续使用在AndroidManifest中填写的设计图尺寸返回true和0

public class CustomAdaptActivity extends AppCompatActivity implements CustomAdapt {

    @Override
    public boolean isBaseOnWidth() {
        return false;
    }

    @Override
    public float getSizeInDp() {
        return 667;
    }
}

当某个Activity想放弃适配,请实现CancelAdapt接口

public class CancelAdaptActivity extends AppCompatActivity implements CancelAdapt {

}

Fragment 开启自定义参数功能

AutoSizeConfig.getInstance().setCustomFragment(true);

接口扩展适配参数和放弃适配和Activity方法相同