大家好,又见面了,我是你们的朋友全栈君。
一、简介
Autosize今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案。
二、使用
1、引用
implementation ‘me.jessyan:autosize:1.2.1’
2、配置
<meta-data
android:name=”design_width_in_dp”
android:value=”宽” />
<meta-data
android:name=”design_height_in_dp”
android:value=”高” />
在AndroidManifest.xml文件中的<application></application>标签内部配置,其中value值的宽高指的是UI效果图的实际分辨率(效果图与标注图分辨率必须一致),横竖屏切换置换宽高的配置。实际使用配置如下图:
3、使用
3.1、布局.xml
在布局中直接使用dp与sp去适配就好,没有什么好说的直接上例子
3.2、代码.java
在实际代码中我这边使用的的一个感觉比较使用的方法AutoSizeConfig.getInstance(),主要用来配置横竖屏分辨率,具体使用如下:
代码语言:javascript复制 //屏幕适配监听器
AutoSizeConfig.getInstance().setOnAdaptListener(new onAdaptListener() {
@Override
public void onAdaptBefore(Object target, Activity activity) {
//使用以下代码, 可以解决横竖屏切换时的屏幕适配问题
//首先设置最新的屏幕尺寸,ScreenUtils.getScreenSize(activity) 的参数一定要不要传 Application !!!
AutoSizeConfig.getInstance().setScreenWidth(ScreenUtils.getScreenSize(activity)[0]);
AutoSizeConfig.getInstance().setScreenHeight(ScreenUtils.getScreenSize(activity)[1]);
//根据屏幕方向,设置设计尺寸
if (activity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
//设置横屏设计尺寸
AutoSizeConfig.getInstance()
.setDesignWidthInDp(1280)
.setDesignHeightInDp(800);
} else {
//设置竖屏设计尺寸
AutoSizeConfig.getInstance()
.setDesignWidthInDp(800)
.setDesignHeightInDp(1280);
}
}
@Override
public void onAdaptAfter(Object target, Activity activity) {
}
});
代码中的800与1280是我这边的设计稿分辨率。
若有想了解更多的可以去看一下源码:https://github.com/JessYanCoding/AndroidAutoSize
官方文档:一种极低成本的Android屏幕适配方式
三、总结
AutoSize使用比较简单使用,代码改动代价小,容易上手。
文章主要是我这边自身的使用总结,写的比较简单,使用是主要以参考为主,具体的需要结合使用者自身需求而定,也可以参考官方文档。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144802.html原文链接:https://javaforall.cn