关于Android4.4及以下版本,TextView中使用矢量图时报错的问题

发布时间:2021-10-23 14:31:31

问题描述:在新项目的“我的”模块部分,每个条目左边是图片,图片右边是文字,然后条目末端是个向右的箭头,这个很常见,我是使用一个TextView来时实现的,由于UI那边没有切好左边的图,所以我这边在AndroidStudio里面新建了一个矢量图来代替了。在android5.0及以*姹镜幕由显诵校挥腥魏我斐#窃赼ndroid4.4及下版本时,只要进入“我的”页面就崩溃。


分析问题: 首先,先看一下我实现条目的效果图和代码:

代码实现:


android:id="@+id/tv_mine_publish"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:drawableLeft="@drawable/ic_dashboard_black_24dp"
android:drawableRight="@drawable/mine_go"
android:drawablePadding="10dp"
android:gravity="center_vertical"
android:padding="10dp"
android:text="装修图片"
android:textColor="@color/mine_itme_textcolor"
android:textSize="@dimen/mine_item_size" />

当时在android5.0版本及以上的机子上运行好好的的,结果在android4.4的机子上进入到我的页面就崩溃,我和我的小伙伴们都吃了一惊。我赶快打开控制台查看log日志,其实并不想预想的那样,直接报告代码哪一行出错了,哈哈。我截取了一段重要的错误提示:

这种错误,如果你之前遇到过,基本上很好定位,一下子就知道是某个部分出错了。但是如果没有遇到过的话,就要用排除法去定位。
小插曲:就像我第一次在oppo机子上遇到类似情况的时候,没有报告代码哪一行出了错误,报告了一堆什么xxxOppoStaticLayout的错误提示。首先,我先删除剪切了java文件中的大部分代码,除了加载布局文件的部分。然后运行后,还是奔溃了,可以确定不是java文件代码的问题,是xml布局文件的错误。在xml文件中剪切一部分代码,然后测试,在剪切一部分测试,测试几个回合后定位到TextView中的android:ellipsize=”“属性导致的,所以对于这种类似的问题,你也可以采取这样的处理方法。
回到这个问题,看了提示,我基本已经知道它错在哪里。加载图片出的问题,这个布局中就TextView中使用到了图片,所以可以定位到TextView这里。接下来我在android4.3的机子上测试了一下,打印的log就更加明显了:

已经可以清晰的看到是布局xml第几行了。所以我删除了


android:drawableLeft="@drawable/ic_dashboard_black_24dp"

这一行后运行后就不在报错了,这已经很明显了,删除了矢量图就好了,可以断定就是矢量图搞得鬼。接下来我把矢量图换成了位图就可以正常运行了。


解决方案: 把android:drawableLeft的图片修改成位图就可以了。总结, Android4.4及以下版本,TextView中不要使用矢量图。


文章写的不对或者不足的地方欢迎指正^_^

相关文档

  • 教师寒假学习心得体会范文500字
  • 吃西餐的基本礼仪及刀叉的使用方法
  • 慢性病防治工作计划(精选3篇)
  • 辛丑条约的废除原因是什么
  • Android消息提示方法介绍
  • 暖暖的冬天汤纯味美【砂锅豆腐】
  • 小学生优秀阅读感言作文三篇范例
  • 始终和仅此一次怎么改
  • 黑头会变成痣吗
  • 建队节从1949年到2017年一共建立多少年
  • 测试开发工程师必备技术栈(附详细技术点)
  • 电脑什么都打不开也关不了机如何修复
  • 如何通过饮食改善记忆力
  • 清月越剧
  • 平均 15189 元!2021 年 3 月程序员工资统计出炉
  • 魅蓝note6断网太严重了
  • 红细胞体积分布宽度偏低是什么原因?红细胞体积分布宽度偏低严重吗?
  • 我的好朋友小黄
  • 2017年湖北黄冈中考录取分数线
  • 办学用地合作协议书学校与学校合作协议书
  • 做事要相互谦让
  • 母爱如花作文600字范文
  • Illegal mix of collations(utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='
  • 科目三路考紧急情况应对的方法
  • 读校园名言有感800字
  • 放学后读后感
  • 2017年12月英语六级满分作文精讲:关于手机
  • 手机总断网怎么回事
  • mysql for update 行锁_校招面试题mysql锁总结
  • 可爱的小狗??欢欢
  • 猜你喜欢

    电脑版