2

ImageView の上に線を描画しようとしていますが、Canvas を使用して線を描画しようとするたびに、ビットマップをリロードする必要がありますが、これは私の意図ではありません。Image を更新することなく、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 で線を描画する方法は、高さまたは幅が 1 dp の View を作成することです。次に、他の値を任意の値に設定し、色を設定します。

于 2013-02-06T00:52:25.940 に答える