【疑难杂症】三星手机上出现的autosizeTextView崩溃问题

是这样的,一个版本愉快的发布以后,线上观察到了一个crash:
在这里插入图片描述
继续看堆栈:
在这里插入图片描述
我们找到了真正出问题的堆栈。 结合新版本改动的代码,我们迅速定位了可能出现问题的代码:

<**************
              android:id="@+id/tvDepartTitle"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_below="@id/tvFrom"
              android:layout_marginTop="2dp"
              android:ellipsize="end"
              android:gravity="start"
              android:maxLines="2"
              android:textColor="@color/color_train_main_text"
              android:textSize="@dimen/dimen_18dp"
              tools:text="上海上海上海上海上海上海"
 
              //下面四行是新增代码,也是出问题的地方
 
              app:autoSizeTextType="uniform"
              app:autoSizeMinTextSize="12sp"
              app:autoSizeMaxTextSize="18dp"
              app:autoSizeStepGranularity="2sp"
              />

那么如何复现问题呢,不清楚,如何修复呢,也不是很清楚。 所以还是必须找到出现问题的原因。
尝试搜索Maximum auto-size text size (72.0px) is less or equal to minimum auto-size text size (72.0px),百度无法给我答案,google上找了一个stackoverflow,发现了一些端倪:https://stackoverflow.com/questions/50500355/autotextview-max-size-issue
找到了灵感,和用户手动设置了系统字体有关,我们代码设置了最大字体号,等于或者小于系统设置的最小字体号了。 于是我将该三星手机字体调至最大,果然成功复现。

我直呼坑爹。

然后我继续思考,那么一定是设置到了某个级别的字体后才会出现问题,于是验证了一下,果然,结果如下图。
在这里插入图片描述

解决方案: 全部使用dp, 不可以使用sp; app:autoSizeMaxTextSize设置为一个较大的值,100dp
因为sp设置字体,字体大小会根据系统设置字体大小而改变。
参考:https://blog.csdn.net/donkor_/article/details/77680042

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值