我想用java代码创建一个简单的蓝色Drawable。我不想在 res/drawable 文件夹中添加“蓝色”图像。我如何实现这一目标?我需要在 ImageView 中将此可绘制对象用作图像。
问问题
4056 次
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 回答