使用getDrawable时遇到的一个bug
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用getDrawable时遇到的一个bug相关的知识,希望对你有一定的参考价值。
做一个筛选菜单时候,用到了
遇到几个问题:
(1)最右面的上三角形、下三角形很难看,需要改成向上箭头向下箭头,而且靠近文件,在右边;
(2)背景颜色需要改成白色;
(3)下面的子菜单的文字在最左边,需要居中;
(4)第一次进来Fragment的时候DropDownMenu的下拉选项没有选中任意一项
上面几个需求看起来很容易改,不就是改改布局什么的,其实改过之后就知道不是这么容易滴,我是直接改他的库,改的乱七八糟才成功。篇幅有限,这里就不说了。
说一下遇到的一个bug:就是代码中为TextView添加图片的一个bug
java.lang.NoSuchMethodError: android.content.res.Resources.getDrawable
【解决办法】:
ContextCompat.getDrawable(MainActivity.this.getApplicationContext(),R.drawable.ic_launcher);
【原因】:
Context类的getDrawable(res)/geColor(res)方法和Resources的getDrawable(res,theme)/getColor(res.theme)都是API21才添加的,
低版本系统无法找到该方法所以报异常。
以上是关于使用getDrawable时遇到的一个bug的主要内容,如果未能解决你的问题,请参考以下文章
Android:context.getDrawable() 的替代方案
ResourcesCompat.getDrawable() 与 AppCompatResources.getDrawable()
Android中getDrawable和getColor过时的替代方法
警告: [deprecation] Resources中的getDrawable(int)已过时