github項(xiàng)目地址: https://github.com/JessYanCoding/AndroidAutoSize
1.添加依賴:
implementation 'me.jessyan:autosize:1.2.1'
2.在AndroidManifest.xml中配置
<!-- 如果您項(xiàng)目中的所有頁面都只需要以高或?qū)捴械囊粋€(gè)作為基準(zhǔn)進(jìn)行適配的話, 那就只需要填寫高或?qū)捴?的一個(gè)設(shè)計(jì)圖尺寸即可 -->
<meta-data
android:name="design_width_in_dp"
android:value="480"/>
<meta-data
android:name="design_height_in_dp"
android:value="800"/>
3.在BaseApplication.java中添加初始化,如沒有該文件請創(chuàng)建!
public class BaseApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//當(dāng) App 中出現(xiàn)多進(jìn)程, 并且您需要適配所有的進(jìn)程, 就需要在 App 初始化時(shí)調(diào)用 initCompatMultiProcess()
//在 Demo 中跳轉(zhuǎn)的三方庫中的 DefaultErrorActivity 就是在另外一個(gè)進(jìn)程中, 所以要想適配這個(gè) Activity 就需要調(diào)用 initCompatMultiProcess()
AutoSize.initCompatMultiProcess(this);
AutoSizeConfig
.getInstance()
//是否讓框架支持自定義 Fragment 的適配參數(shù), 由于這個(gè)需求是比較少見的, 所以須要使用者手動(dòng)開啟
//如果沒有這個(gè)需求建議不開啟
.setCustomFragment(true);
}
}
4.在AndroidManifest.xml中配置BaseApplication
android:name=".BaseApplication"
注意:圖片和圖標(biāo)盡量使用10801920的尺寸規(guī)格,而設(shè)計(jì)圖盡量用480800,
這樣在布局時(shí)標(biāo)注可以和設(shè)計(jì)圖的大小一至,即480dp*800dp。
mipmap對應(yīng)的分辨率
320 * 480 mdpi
480 * 800 hdpi
720 * 1280 xhdpi
1080 * 1920 xxhdpi
2K屏 xxxhdpi