📌  相关文章
📜  android imageview 以编程方式从可绘制对象中设置图像 - Java (1)

📅  最后修改于: 2023-12-03 15:13:20.224000             🧑  作者: Mango

Android ImageView 以编程方式从可绘制对象中设置图像 - Java

在 Android 中,ImageView 是一个显示图像的控件,它可以从不同的资源类型中显示图像,例如 drawable、bitmap、uri、资源 ID 等等。在本文中,我们将介绍如何以编程方式从可绘制对象中设置 ImageView。

设置 ImageView 的图像

要设置 ImageView 的图像,可以调用 setImageDrawable() 方法,并将 Drawable 对象作为参数传递。以下是一个示例代码片段:

ImageView imageView = findViewById(R.id.my_image_view);
Drawable drawable = ...;
imageView.setImageDrawable(drawable);

在上面的代码片段中,我们首先获取一个 ImageView 对象,然后创建一个 Drawable 对象,并将其设置为 ImageView 的图像。

从资源中获取 Drawable

Android 应用通常需要从资源中获取 Drawable 对象。可以使用以下方法之一从资源中获取 Drawable:

从 drawable 资源获取

可以使用 getDrawable() 方法从 drawable 资源中获取 Drawable:

Drawable drawable = getResources().getDrawable(R.drawable.my_drawable);

在上面的代码片段中,我们从 R.drawable.my_drawable 引用获取 Drawable 对象。

从 mipmap 资源获取

同样,可以使用 getDrawable() 方法从 mipmap 资源中获取 Drawable:

Drawable drawable = getResources().getDrawable(R.mipmap.my_drawable);

在上面的代码片段中,我们从 R.mipmap.my_drawable 引用获取 Drawable 对象。

从 URI 或文件中获取 Drawable

有时候,应用需要从文件或网络中获取 Drawable 对象。可以使用以下方法之一从 URI 或文件中获取 Drawable:

从文件中获取 Drawable

可以使用以下代码从文件中获取 Drawable:

File file = new File("/path/to/my/image.jpg");
Drawable drawable = Drawable.createFromPath(file.getAbsolutePath());

在上面的代码片段中,我们使用 Drawable.createFromPath() 方法从文件中获取 Drawable 对象。

从 URI 中获取 Drawable

可以使用以下代码从 URI 中获取 Drawable:

Uri uri = Uri.parse("https://example.com/my/image.jpg");
InputStream inputStream = getContentResolver().openInputStream(uri);
Drawable drawable = Drawable.createFromStream(inputStream, null);

在上面的代码片段中,我们使用 getContentResolver().openInputStream() 方法打开 URI 的输入流,然后使用 Drawable.createFromStream() 方法从输入流中获取 Drawable 对象。

结论

在 Android 中,可以使用 ImageView 显示 Drawable 对象,可以使用 setImageDrawable() 方法从 Drawable 对象中设置 ImageView 的图像。本文介绍了如何从不同的资源类型中获取 Drawable 对象,并将其设置为 ImageView 的图像。