安卓drawable转换int

在 Android 开发中,Drawable 是指可以作为应用程序中图像资源的基类。如果你想把 Drawable 类型转换为 int 类型,可以使用 ContextCompat 工具类的 getDrawable() 方法和 Resources 类的 getIdentifier() 方法。

以下是一些代码示例:

// 获取 Drawable 对象
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.icon_name);
// 将 Drawable 对象转换成 int 类型
int drawableId = 0;
Resources resources = context.getResources();
if (drawable != null) {
    drawableId = resources.getIdentifier("icon_name", "drawable", context.getPackageName());
// 使用 int 类型的资源 ID
imageView.setImageResource(drawableId);

需要注意的是,getIdentifier() 方法返回的是 int 类型的资源 ID,如果找不到相应的资源,会返回 0。因此,在使用资源 ID 时,需要先判断其是否为 0,以避免出现空指针异常等错误。

希望这些信息对您有所帮助。

  •