新项目,做平板适配,看了网上的很多适配方案,感觉都不合适,最后,干脆用今日头条适配.
经几个月的临床经验,果然能用,但是要注意几个问题:
(顺便说一下,如果身边有丝袜,短裙,哈哈哈哈,好姑娘.... 记得给我介绍一下,当然,如果是异域(少数民族或国外)风味的,这个最好)
0,首先,在Application中引入,这个不解释
//初始化今日头条适配
AutoSize.initCompatMultiProcess(this);
1,引入依赖
//今日头条的适配
implementation 'me.jessyan:autosize:1.2.1'
2,在basicActivity中重写一个方法,必须写这个方法.是所有的basicAcitivity类
@Override
public Resources getResources() {
//需要升级到 v1.1.2 及以上版本才能使用 AutoSizeCompat
AutoSizeCompat.autoConvertDensityOfGlobal((super.getResources()));//如果没有自定义需求用这个方法
return super.getResources();
}
3,清单文件中写入
android:name="design_width_in_dp"
android:value="1800" />
android:name="design_height_in_dp"
android:value="2560" />
//
// android:name="fontsize"
// android:value="1.0" />
//
// android:name="unit"
// android:value="px" />
4,在BasicFragment中引入
AutoSizeCompat.autoConvertDensityOfGlobal((super.getResources()));//如果没有自定义需求用这个方法
5,你以为这样,界面的UI就稳定了?你以为这样UI界面不会变的忽大忽小的?啊呸!
针对Scrollview,和RecyclerView等,部分UI图片还是会忽大忽小的,这时
在popupwind引入布局时再加入
AutoSizeCompat.autoConvertDensityOfGlobal((super.getResources()));//如果没有自定义需求用这个方法
在Dialog的show之前
AutoSizeCompat.autoConvertDensityOfGlobal((super.getResources()));//如果没有自定义需求用这个方法
尤其是第三方的
BaseQuickAdapter或者
BaseMultiItemQuickAdapter
这时
(1)界面所在Fragment 引入
AutoSizeCompat.autoConvertDensityOfGlobal(mResources);//如果没有自定义需求用这个方法
(2)设置adapter中设置
mAdapter = new LearningPracticeLiftAdapter(mList,mResources);
AutoSizeCompat.autoConvertDensityOfGlobal(mResources);//如果没有自定义需求用这个方法
learnPracticeRecycler.setAdapter(mAdapter);
(3)设置布局时,再次设置
AutoSizeCompat.autoConvertDensityOfGlobal(mResources);//如果没有自定义需求用这个方法
addItemType(ConstantUtils.ONE, R.layout.items_learning_practice); //1
AutoSizeCompat.autoConvertDensityOfGlobal(mResources);//如果没有自定义需求用这个方法
addItemType(ConstantUtils.TWO, R.layout.items_learning_practice_will);//2
AutoSizeCompat.autoConvertDensityOfGlobal(mResources);//如果没有自定义需求用这个方法
其实我也不知道哪个方法起作用了,最后,上线半年,基本上,没有遇到适配问题