Android屏幕适配之Autosize(Project)
一、簡介
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(),主要用來配置橫豎屏分辨率,具體使用如下:
//屏幕適配監聽器
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使用比較簡單使用,代碼改動代價小,容易上手。
文章主要是我這邊自身的使用總結,寫的比較簡單,使用是主要以參考為主,具體的需要結合使用者自身需求而定,也可以參考官方文檔。
總結
以上是生活随笔為你收集整理的Android屏幕适配之Autosize(Project)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php批量生成html文件,php 批量
- 下一篇: 关于净推荐值(NPS)的理解