在新的Android API 22中,getResources().getDrawable()现已弃用. 现在最好的方法是只用getDrawable().

什么改变了?

推荐答案

您有一些选项可以以正确(future proof)的方式处理此弃用,具体取决于您正在加载的绘图类型:


A)个drawables with个主题属性

ContextCompat.getDrawable(getActivity(), R.drawable.name);

你可以根据活动主题的指示获得一个样式化的可绘制图形.


B)个drawables without个主题属性

ResourcesCompat.getDrawable(getResources(), R.drawable.name, null);

你会用老办法把你的未定型的衣服拉深.请注意:ResourcesCompat.getDrawable()表示not不推荐!


EXTRA)个drawables with个主题属性来自another个主题

ResourcesCompat.getDrawable(getResources(), R.drawable.name, anotherTheme);

Android相关问答推荐

滑动以更改合成中的活动

无法在Android中创建通知频道

无法在Android Gradle中同步Chaquopy版本

关闭导致Kotlin中的内存泄漏?

如何在Android Jetpack Compose中找到我的手机屏幕一行有多少个单词

Android可绘制边框删除底线

安卓喷气背包组成倒计时动画

在Jetpack Compose中将导航绘图显示在顶部栏下方、底部栏上方

没有打开历史记录的活动意向 Select 器完成调用活动

我可以从 Android 中的选定文本中获取周围的文本吗?

如何在 Jetpack Compose 中将文本绘制在另一个对象的中心?

如何在 Delphi 和 Android 上避免 Indy Socket Error #13 Access denied 异常?

在移动设备上看到时如何增加 PasswordField 文本?

Jetpack 将 Grid 与基于大小的自适应列数组合在一起

在 Jetpack Compose 中清除列表时可组合不重组

如何在jetpack compose中通过lamda返回columnScope/RowScope

如何在jetpack compose中创建水印文字效果

Android WebView 没有在第一次页面完成时从本地存储读取数据?

如何使用jetpack compose实现布局,其中图标在列布局上是绝对位置

Jetpack 使用 Canvas 组成半圆