android getdrawable废弃
时间: 2023-07-22 18:40:08 浏览: 153
是的,Android中的getdrawable()方法已经被废弃。取而代之的是,您应该使用ContextCompat.getDrawable()或ViewCompat.getDrawable()方法来获取Drawable对象。这些方法可以确保您的应用程序在不同版本的Android操作系统上具有一致的行为。您可以使用以下示例代码来获取Drawable对象:
```
// 使用ContextCompat.getDrawable()方法获取Drawable对象
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.my_drawable);
// 或者使用ViewCompat.getDrawable()方法获取Drawable对象
Drawable drawable = ViewCompat.getDrawable(view, R.drawable.my_drawable);
```
相关问题
android studio getDrawable
在Android Studio 1.2.2中,当您编译代码时遇到Resources中getDrawable(int)已过时的警告信息时,这是由于Android Support库和AndroidX不兼容所引起的。为了解决这个问题,您可以使用以下方法之一:
方法一:使用ContextCompat.getDrawable()方法替代getDrawable()方法。
例如,将原来的代码:
getDrawable(R.drawable.my_image)
替换为:
ContextCompat.getDrawable(context, R.drawable.my_image)
方法二:将Android Support库迁移到AndroidX库。
您可以通过在build.gradle文件中将support库的依赖替换为相应的AndroidX库来进行迁移。
例如,将原来的依赖:
implementation 'com.android.support:appcompat-v7:28.0.0'
替换为:
implementation 'androidx.appcompat:appcompat:1.0.0'
以上是解决这个问题的两种方法。您可以根据您的需求选择其中一种方法来解决getDrawable(int)已过时的警告信息。
getdrawable
getdrawable()是一个方法,可以从资源中获取Drawable对象。在Java代码中,您可以使用以下代码从资源中获取Drawable对象:
```
Drawable drawable = getResources().getDrawable(R.drawable.my_drawable);
```
这里的"my_drawable"是一个Drawable资源的名称,它存储在res/drawable目录下。在此示例中,getResources()方法用于获取一个Resources对象,该对象提供了访问应用程序资源的方法,getDrawable()方法则用于从Resources对象中获取名为"my_drawable"的Drawable对象。
请注意,如果您的应用程序需要与较旧版本的Android兼容,则应使用ContextCompat.getDrawable()或ViewCompat.getDrawable()方法。例如,以下代码使用ContextCompat.getDrawable()方法从资源中获取Drawable对象:
```
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.my_drawable);
```
这里的"context"是一个Context对象,它通常是Activity或Application对象。ContextCompat.getDrawable()方法可以确保您的应用程序在所有版本的Android上都具有一致的行为。
阅读全文