JessYan

Results 199 comments of JessYan

模糊是因为你没有在对应 drawable-xxx 文件夹中放入对应分辨率的图片,你放的图片只适配了小屏幕手机,你却强制要让这个低分辨率的图片放大 N 倍,去适配平板,能不模糊吗,说到底是你自己图片分辨率就没给够,如果你让设计师给你多切几个不同分辨率的图片,来适应不同分辨率的屏幕,你直接用 wrap_content 也可以适配,这是你自己需要做的了

@kevinStrange ... 兄弟,数学该去补补了,这些都是数学符号,^2 是平方的意思,sqrt 是开根的意思

@fazhongxu 描述的不清晰,没听懂你表达的内容,最好图文并茂详细描述

你这样描述后我就清楚了,也就马上定位问题了,因为这个框架的自动运行机制是在每个 Activity 的 onCreate 时主动适配当前页面,但是你没打开 App,Activity 的 onCreate 就不会调用,所以如果在你不打开 App 的情况下,就需要在输入法弹出前主动调用 AutoSize#autoConvertDensityOfGlobal 手动触发屏幕适配,

@fazhongxu https://github.com/JessYanCoding/AndroidAutoSize/blob/master/autosize/src/main/java/me/jessyan/autosize/AutoSize.java 这个类不就是工具类吗,里面全是静态方法,你这个方法,在这个类里面也是有的,甚至还有很多可以扩展适配参数的方法,我上面的回答就让你手动调用这个 AutoSize#autoConvertDensityOfGlobal 方法,和你这个差不多,你没看吗,你重新叙述一遍我上面给你的解决方案,还建议我让我加一个在框架创建之初就有的类,让我很懵逼......

@liyujiang-gzu 这个我不想回答了,是这个方案的基础,去看我之前写的今日头条方案的文章,里面都有介绍

@Jeffery336699 看 [demo-subunits](https://github.com/JessYanCoding/AndroidAutoSize/blob/master/demo-subunits/) 副单位的所有用法在里面都有展示,并且有几倍于代码的超详细注释

框架只会在 Activity onCreate 设置 density, 启动图加载的时间明显早于 Activity onCreate,所以要想适配启动图就要在它加载之前设置 density,现在能想到的方法就是下面的方法,如果不行那就没办法了。 https://github.com/JessYanCoding/AndroidAutoSize/issues/1#issuecomment-504654664 根据上面的的回答,创建一个重写 getResources 方法的 ContextWrapper, ```java @Override protected void attachBaseContext(Context base) { super.attachBaseContext(ContextWrapper); } ``` 然后将这个 ContextWrapper 传给 Application 的 super.attachBaseContext();

框架的原理是修改 denisty 达到适配的效果,所以这个库的功能只有确认 denisty 为正确值并且可用,至于这个框架用在什么样的设备,什么屏幕上不是框架所关心的,理论上只要是在运行 Android 系统的设备上都可用,至于你说的折叠屏手机适配问题,你也没有贴出图片和相关细节,我也没有折叠屏手机,所以也不能给你答案。