使用中遇到的问题
我们知道 AutoSize 是一个百分比适配框架,只能保证一个维度进行适配,而且这个维度是在我们初始化的时候就指定的。
问题来了,假设我们的设计稿是1920x1080,并且我们指定以宽度方向进行适配。
手机分辨率为1920x1080:
可以完美适配。
手机分辨率为1812x1080(举个栗子而已):
宽度方向完美适配,高度方向会被压缩(竖直方向可以滚动的页面除外)。
这个时候最好是能够按照高度进行适配,这样一来,高度方向可以填充,宽度方向也不至于应为超出屏幕而被压缩。
手机分辨率为2340x1080:
宽度方向完美适配,高度方向有可能留白,这个我们可以通过 match_parent 或者 layout_weight 来解决。但是如果我们一开始指定是高度方向进行适配,在该分辨率下宽度方向就会被压缩。
结论:
根据不同的设备动态初始化我们的适配维度。
解决办法
private fun initAdapt() {
val config = AutoSizeConfig.getInstance()
.setLog(true)
.setUseDeviceSize(true)
val screenWidth = config.screenWidth
val screenHeight = config.screenHeight
val designWidthInDp = config.designWidthInDp