如何在ImageView上绘制线条而无需重新加载

时间:2013-02-06 00:49:08

标签: android imageview android-canvas draw android-view

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

2 个答案:

答案 0 :(得分:2)

或者,如果您希望能够绘制任何线条(rects,ovals等),请将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 ... />代替。

答案 1 :(得分:0)

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