android:如何绘制一条简单的线并将其显示在小部件中



我想通过画一些线来用小部件可视化东西。假设我每n秒得到两个坐标(x,y),然后想要相应地更新小部件。这现在还可以,但现在我想在这两点之间画一条线。

我在谷歌上搜索了一下,发现了很多东西,但没有解释在图像上画画的基本原理。由于我对图形没有任何经验,我想这些东西在某种程度上就像用LaTeX中的tikzpicture绘制的图形一样。

有人能向我解释一下这一切是如何运作的吗?或者至少给我一个从一开始就解释这一点的例子?非常感谢!

谢谢!

在Android中,通常都归结为在画布上绘图,例如在方法View.onDraw().中

// prepare picture
if (mBackground != null) {
    mBackground.recycle();
}
mBackground = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas backgroundCanvas = new Canvas(mBackground);
backgroundCanvas.scale(width, height);
RectF rect = new RectF(0f, 0f, 1f, 1f);
Paint paint = new Paint();
paint.setFlags(Paint.ANTI_ALIAS_FLAG);
paint.setColor(Color.parseColor("#18a518")); // gray
// draw line
backgroundCanvas.drawLine(startX, startY, stopX, stopY, paint);

onDraw():

// draw picture on View canvas
@Override
public void onDraw(Canvas canvas) {
    canvas.drawBitmap(mBackground, 0, 0, null);
}

添加

基元链如下所示:1创建自己的View类(扩展)。2在视图中定义onDraw()方法。3将视图放在布局xml文件中(或在运行时添加:Activity.addContentView())。4如果需要重新绘制,请调用invalidate(); // forces onDraw() to be called
有关详细信息,请参阅谷歌的android示例。

然后,如果您想提高效率,请学习SurfaceView。但在表面上,我们也在画布上画画。

http://www.droidnova.com/playing-with-graphics-in-android-part-i,147.html

一开始可能会有所帮助。不幸的是,这仍然让我不知道如何在小部件布局上绘制。。。

我自己回答这个问题:android:如何向小部件添加自定义图像?

最新更新