1

我想用java代码创建一个简单的蓝色Drawable。我不想在 res/drawable 文件夹中添加“蓝色”图像。我如何实现这一目标?我需要在 ImageView 中将此可绘制对象用作图像。

在此处输入图像描述

4

2 回答 2

5

只需使用 a BitmapDrawable,它将让您将位图设置为源。您可以使用许多功能非常轻松地创建位图,例如:

Bitmap myBitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
myBitmap.setPixel(x, y, Color.BLUE);

如果您想要纯色,您可以使用该像素创建一个 1x1 位图,并根据需要将其放大。

或者,如果您想要更大的灵活性,您可以使用 aCanvas让您使用更多的绘图方法(用于矩形、圆形、文本等)。

于 2013-02-23T05:07:17.977 回答
1

或者,您可以在 XML 中定义 ShapeDrawable (是的,我知道您想在代码中执行此操作,但也许这也对您有用):

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <size
        android:width="150dp"
        android:height="150dp" />
    <solid
        android:color="#ff0000ff" />
</shape>

XML 使支持多个屏幕变得容易(屏幕分辨率、屏幕密度、外形尺寸、方向)。更多关于如何定义形状的信息可以在这里找到。

于 2013-02-23T05:33:13.873 回答