可以直接看最后的解决方案。
在我使用这个框架,一开始正常登陆流程进去都是能适配的。但是发现息屏后在开启屏幕,字体大小,图片全部返回原来设计图大小比例。后来点击进去看AndroidAutoSize的值发现改变了。本来我设定的是1217 他变为800.
再看155行这个isBaseOnWidth==true 值就是屏幕的宽度,
我在监听获取屏幕宽度的变化
我们项目是平板项目,固定为横屏但是也运行在一下大屏手机上, 我的手机是1920*1080,熄屏之后再开启就正好把宽了高反了过来。原来熄屏之后再开启是先竖屏再横屏,这个框架在刚进来的时候拿到宽,正好是竖屏 所以宽度拿的不对。到时density计算错误,无法完成适配。 在你的BaseActivity根据你的需求进行判断。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
//监听横竖屏变化导致
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Log.d("width", "横屏");
AutoSize.autoConvertDensityOfGlobal(this); //如果没有自定义需求用这个方法
} else {
Log.d("width", "竖屏");
}
}