We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
我有一个ListView的列表页面,第一个item进入是一个横屏的我自己实现的页面,此时反复进入退出都没有问题。
第二个item也是一个横屏界面,但是都是第三方。我在Application中AutoSizeConfig.getInstance().getExternalAdaptManager() .addCancelAdaptOfActivity取消了它的适配。
但是,奇怪的是,只要进入第二个item就会导致第一个item页面字体布局都变得很小。直到杀掉app进程,重新进来,才恢复初始状态。
我断点跟踪了代码,发现框架中MIUI适配的代码getTmpMetricsField()方法返回null,是不是新升级MIUI12.5.4导致适配失效了?应该怎样处理呢
AutoSizeCompat中: /** * 解决 MIUI 更改框架导致的 MIUI7 + Android5.1.1 上出现的失效问题 (以及极少数基于这部分 MIUI 去掉 ART 然后置入 XPosed 的手机) * 来源于: https://github.com/Firedamp/Rudeness/blob/master/rudeness-sdk/src/main/java/com/bulong/rudeness/RudenessScreenHelper.java#L61:5 * * @param resources {@link Resources} * @return {@link DisplayMetrics}, 可能为 {@code null} */ private static DisplayMetrics getMetricsOnMiui(Resources resources) { if (AutoSizeConfig.getInstance().isMiui() && AutoSizeConfig.getInstance().getTmpMetricsField() != null) { try { return (DisplayMetrics) AutoSizeConfig.getInstance().getTmpMetricsField().get(resources); } catch (Exception e) { return null; } } return null; }
The text was updated successfully, but these errors were encountered:
这个代码是解决部分 MIUI 会出现的问题,不一定所有 MIUI 都会出现这个问题,如果是因为 MIUI 系统出现的适配问题,应该不可能只是在特定场景中才出现适配异常,而是从始至终都都会出现问题。
问题推断是进入第二个页面后重新设置了不同的 density,而第一个页面使用了第二个页面的 density 刷新的页面,解决方案是,返回到第一个页面后,重新设置 density 并手动刷新所有 item
#59
Sorry, something went wrong.
这个代码是解决部分 MIUI 会出现的问题,不一定所有 MIUI 都会出现这个问题,如果是因为 MIUI 系统出现的适配问题,应该不可能只是在特定场景中才出现适配异常,而是从始至终都都会出现问题。 问题推断是进入第二个页面后重新设置了不同的 density,而第一个页面使用了第二个页面的 density 刷新的页面 #59
问题推断是进入第二个页面后重新设置了不同的 density,而第一个页面使用了第二个页面的 density 刷新的页面
第二个界面是加了取消适配的代码,按说不应该再影响第一个界面才是。之前还有另外一个问题,就是第一个界面的自定义背景Toast和首页的Toast,谁先弹出,APP本次运行就依照它的配置运行了。
我看了log,第一个页面正常进入时target的宽高和横屏状态能够对应上,所以布局显示正常。当进入第二个页面后,再次进入第一个页面,target的宽高就不再是横屏,而是竖屏了,所以布局就显示非常小。似乎横竖屏检测失效了,计算的target值是对的,只是宽高混了。
宽高互换了,density也会变的,所以,回到第一个页面后,使用横屏的信息设置density,再刷新所有ui就可以了
No branches or pull requests
我有一个ListView的列表页面,第一个item进入是一个横屏的我自己实现的页面,此时反复进入退出都没有问题。
第二个item也是一个横屏界面,但是都是第三方。我在Application中AutoSizeConfig.getInstance().getExternalAdaptManager()
.addCancelAdaptOfActivity取消了它的适配。
但是,奇怪的是,只要进入第二个item就会导致第一个item页面字体布局都变得很小。直到杀掉app进程,重新进来,才恢复初始状态。
我断点跟踪了代码,发现框架中MIUI适配的代码getTmpMetricsField()方法返回null,是不是新升级MIUI12.5.4导致适配失效了?应该怎样处理呢
AutoSizeCompat中:
/**
* 解决 MIUI 更改框架导致的 MIUI7 + Android5.1.1 上出现的失效问题 (以及极少数基于这部分 MIUI 去掉 ART 然后置入 XPosed 的手机)
* 来源于: https://github.com/Firedamp/Rudeness/blob/master/rudeness-sdk/src/main/java/com/bulong/rudeness/RudenessScreenHelper.java#L61:5
*
* @param resources {@link Resources}
* @return {@link DisplayMetrics}, 可能为 {@code null}
*/
private static DisplayMetrics getMetricsOnMiui(Resources resources) {
if (AutoSizeConfig.getInstance().isMiui() && AutoSizeConfig.getInstance().getTmpMetricsField() != null) {
try {
return (DisplayMetrics) AutoSizeConfig.getInstance().getTmpMetricsField().get(resources);
} catch (Exception e) {
return null;
}
}
return null;
}
The text was updated successfully, but these errors were encountered: