2

我试图在 ImageView 上画一条线,但每当我使用 Canvas 尝试它时,我都必须重新加载位图,这不是我的意图。有没有办法使用 Canvas 在上传的 ImageView 上简单地画一条线而无需刷新图像?或者另一种在 Android ImageView 上画线的方法?

4

2 回答 2

2

或者,如果您希望能够绘制任何线条(矩形、椭圆等),请将 ImageView 子类化到您自己的 ImageView 中并自己进行绘制。

public class MyImageView extends ImageView {
    Paint linePaint = new Paint();


    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw();

        // And draw your line.
        // (Be sure to have set the values/fields in linePaint earlier so that you draw the correct line/type/size/etc).
        canvas.drawLine(0, getHeight()/2, getWidth(), getHeight()/2, linePaint);

    }
}

在您的布局 xml 中,不要指定 <ImageView .../>,而是指定 <com.mycompany.project.widget.MyImageView ... />。

于 2013-02-06T01:01:20.000 回答
0

我在 Android 中画线的方式是创建一个高度或宽度为 1dp 的视图。然后将其他值设置为您想要的任何值并设置颜色。

于 2013-02-06T00:52:25.940 回答