0

如果用户选择一个选项,我正在编写一个需要渲染图像的应用程序。图像将读取一个数据文件,并根据数据文件的内容呈现适当数量的矩形、线条和文本(我正在可视化数据)。我阅读了这个站点Drawables 或 Canavs,如果我理解正确,它说我应该使用 drawables。但是我不明白(没有找到或错过它)是我定义绘制形状的空间的地方。因为我不知道形状的数量以及整个可视化的大小,直到我阅读数据文件,我不知道我需要多大的合成图像(渲染所有形状和线条所需的大小)。

所以我有三个问题。

我应该使用drawables来完成我需要做的事情吗?该方法是否mDrawable.setBounds定义了我正在使用的可视化的“大小”我可以用drawables画线和插入文本吗?

4

1 回答 1

0

要显示 Drawable,您可以使用 Source 设置为 drawable 的 ImageView,或将背景设置为 drawable 的其他 UI 组件,或者覆盖您自己的自定义 UI View 的 onDraw 方法并使用 Drawable#draw( Canvas) 调用以将 Drawable 绘制到画布上,从而将使用该画布绘制自身的视图绘制到画布上。Drawable#setBounds 方法定义了 Drawable#draw 方法在画布上绘制的位置。

通常,在您的情况下,根本不会使用 Drawable 。相反,您只需将 View 子类化,覆盖 onDraw(Canvas),然后直接在 Canvas 对象上进行绘图调用。这个对象有drawBitmap、drawLines、drawText等方法: http:
//developer.android.com/reference/android/graphics/Canvas.html#drawText(java.lang.String,%20float,%20float,%20android.图形.油漆)

于 2013-02-27T02:46:09.417 回答