EditText嵌套TextInputLayout加drawableLeft致hint右移,Proguard启用异常
Fix: TextInputLayout Hint Shifts Right with drawableLeft (Release Mode + Proguard Issue)
如果你遇到了TextInputLayout包裹的EditText设置drawableLeft后,hint文本向右偏移的问题,而且按照同类问题的常规方案修复后在Debug模式下正常,但开启Proguard的Release模式下问题依旧,那这个解决办法应该能帮到你。
问题细节
- 按同类问题的已采纳方案修复后,Debug模式下hint偏移问题完全消失
- 但打包启用Proguard混淆的Release版本时,hint向右偏移的问题再次出现
解决方案
直接在你的Proguard配置文件(通常是proguard-rules.pro)中添加以下规则:
-keep class com.google.android.material.** {*;}
问题原因
这是因为Proguard在混淆过程中,可能对Material Design组件(比如TextInputLayout的内部布局计算类)进行了不合理的混淆,导致其处理drawableLeft时的布局逻辑出现异常,进而引发hint偏移。通过保留整个com.google.android.material包下的所有类不被混淆,就能避免这种布局计算错误。
内容的提问来源于stack exchange,提问作者Aditya Ranjan
相关产品推荐
相关产品推荐

