AndroidAutoSize
AndroidAutoSize copied to clipboard
Webview在第三方的Activity里,density适配无效。
重写 Activity 的 onCreateView(View parent, String name, Context context, AttributeSet attrs) 方法,在调用 super 之前调用一遍 AutoSize.autoConvertDensityOfGlobal(Activity)
Originally posted by @JessYanCoding in https://github.com/JessYanCoding/AndroidAutoSize/issues/5#issuecomment-416011062
————————————————————————————————————————————
Webview在第三方的Activity里,继承的WebViewActivity设置的density失效了,重写了onCreateView方法重新设了一遍也无效。有好的办法吗?
https://github.com/JessYanCoding/AndroidAutoSize/issues/1#issuecomment-504654664
在启动WebviewActivity的时候按照如下方式替换了Context,但还是无效,发现重写的getResources方法没调用。
// 启动WebviewActivity
ARouter.getInstance()
.build(WebRoutes.WEB_WEBVIEACTIVITY)
.withString("url", url)
.navigation(adjustAutoSize(context));
private static Context adjustAutoSize(Context context) {
return new ContextWrapper(context) {
private Resources mResources;
{
Resources oldResources = super.getResources();
mResources = new Resources(oldResources.getAssets(), oldResources.getDisplayMetrics(), oldResources.getConfiguration());
}
@Override
public Resources getResources() {
AutoSizeCompat.autoConvertDensityBaseOnWidth(mResources, ALERT_BASE_WIDTH);
return mResources;
}
};
}
https://github.com/JessYanCoding/AndroidAutoSize/issues/13