如何在 Android API 上使用 setImageTintList() < 21

2024-06-28

imgView.setImageTintList(getResources()
      .getColorStateList(R.color.my_clr_selector));

它说“调用需要 API 级别 21”。

如何让它在 API 21 以下的 Android 设备上运行?

我可以通过使用让它工作ImageView#setColorFilter()但我更喜欢使用ColorStateList设置色调。


你应该使用ImageViewCompat#setImageTintList() https://developer.android.com/reference/android/support/v4/widget/ImageViewCompat.html#setImageTintList(android.widget.ImageView,%20android.content.res.ColorStateList)为了达成这个。在 API 21+ 上,它将使用ImageView#setImageTintList()正如您所期望的......在较旧的平台版本上,它将委托给AppCompatImageView它提供了向后移植的实现。

ColorStateList csl = AppCompatResources.getColorStateList(context, R.color.my_color_state_list);
ImageViewCompat.setImageTintList(imageView, csl);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android API 上使用 setImageTintList() < 21 的相关文章

随机推荐

  • HTML5 canvas drawImage() 不适用于 FireFox

    问题 我正在开发一个项目 需要在画布上对符号的绘制进行动画处理 这很棒并且可以在 chrome 上运行 但在 FireFox 上它不会绘制任何东西 没有错误消息或任何东西 这还是问题吗 我可以使用其他东西来达到相同的效果吗 这个方法可以在所
  • 将电子邮件转移到新主机?

    一位客户正在从他们的旧托管迁移到我的托管 他们在旧主机上有一些电子邮件帐户 我想将旧主机上的所有电子邮件移至我的 我怎样才能做到这一点 如果我使用 POP 下载它们 我可以将它们上传到新主机吗 答案取决于您使用的邮件服务器 是的 您可以使用
  • 隐式模板参数

    以下代码在 Xcode 中生成编译错误 template
  • RazorEngine 中的模板是如何缓存的?

    你打电话时RazorEngine Razor Compile 编译好的模板存放在哪里 程序重启后可以使用吗 如果内存不足 会被dump吗 我在用RazorEngine in an ASP NET http en wikipedia org
  • 错误:java.lang.IllegalStateException:没有包含点

    我在尝试搜索地图上的地点时收到此错误 我在搜索时尝试了其他分辨率 但没有运气 java lang IllegalStateException 没有包含点 在这一行 LatLngBounds Builder builder new LatLn
  • 连接有序数组的最佳方法是什么?

    我有几个整数数组 每个数组中的元素都是有序的 数组没有重复项 我需要将所有数组合并为一个数组 以便生成的数组仅包含每个数组中存在的元素 例如 我有数组 1 2 3 4 5 2 3 5 1 2 4 5 结果必须是 2 5 实现最佳性能的最佳方
  • boost::变体递归问题

    有什么办法可以让这个工作吗 我希望你能明白 我正在尝试通过递归对来创建一个列表 include
  • vim 无法查找和替换明显存在的简单短语

    我有一个简单的 vim 问题 Google 没有设法帮助我解决 任何想法表示赞赏 我进行以下搜索和替换 s numnodes numnodes1 g 在包含以下文本的文件上 numprocs 0 numnodes 0 I get E486
  • Mongodb启动时出错

    当我启动 mongodb 时 它立即崩溃并返回到正常的命令行 如果有帮助的话 我在 Mac 上运行 MEAN 堆栈 下面是错误 sudo mongod Sun Jun 1 21 01 01 728 initandlisten MongoDB
  • 有没有办法使用 SqlBulkCopy 而不将数据转换为 DataTable?

    有没有办法使用 SqlBulkCopy 而不将数据转换为 DataTable 我在 RAM 中有一个对象列表 List 我真的不想使用更多内存来创建数据表 是否可以在列表上实现 IDataReader Thanks 我当然想象你可以 Bul
  • 访问 NavigationProperty 的关联详细信息

    我正在创建一个 C T4 模板来构建一些基于 edmx 文件的类 到目前为止一切顺利 不过 我现在需要的是一种通过以下方式访问它在数据库中连接的列的名称的方法 导航属性 http msdn microsoft com en us libra
  • C++ std::string 到 jstring 具有固定长度

    我正在尝试将 C std string 转换为 jstring 并返回它 这很容易 JNIEnv gt NewStringUTF stdString c str 但问题是我正在转换的字符串中几乎随机散布着空字符 这是一个问题c str 但不
  • 在 Mac OS X 中使用命令行终止“loginwindow”进程

    到目前为止 我已经编写了以下 unix 命令 ps Ajc grep loginwindow cut c 16 20 sed s g 这会抓取 loginwindow 进程 使用 cut 和 sed 对其进行过滤 以返回 loginwind
  • 将outer() 与多变量函数一起使用

    假设你有一个函数f lt function x y z 您将如何向一个参数传递一个常量 但让其他参数发生变化 换句话说 我想做这样的事情 output lt outer x y f x y z 2 这段代码不会评估 但是有没有办法做到这一点
  • 箭头函数不会在 ES6 类中绑定 `this` 吗? [复制]

    这个问题在这里已经有答案了 我很惊讶这不起作用 我在跑iojs2 3 0 与 harmony arrow functions flag class Foo constructor this foo foo sayHi return gt t
  • java 字符串连接和实习

    问题1 String a1 I Love Java String a2 I Love Java System out println a1 a2 true String b1 I Love b1 Java String b2 I Love
  • Knockout cleanNode() 删除 jquery 事件绑定?

    淘汰赛的cleanNode 函数似乎正在删除节点内元素上的 jQuery 事件绑定 我怎样才能防止这种情况发生 我找不到太多文档cleanNode either 直接从淘汰赛文档 http knockoutjs com documentat
  • 以正确的方式在异步方法中连接三个任务的结果

    我对异步编程非常陌生 我想知道是否有办法让这些任务同时运行 考虑我有这个代码 public async Task
  • 可以编译带有参数包的c++17 lambda继承的编译器

    我读到了关于使用函数声明 http en cppreference com w cpp language using declaration我想编译最后一个例子 这是 include
  • 如何在 Android API 上使用 setImageTintList() < 21

    imgView setImageTintList getResources getColorStateList R color my clr selector 它说 调用需要 API 级别 21 如何让它在 API 21 以下的 Andro