Imageviewで黒い境界線と背景が透明な長方形を描く方法は?

alfo888_ibg

下の画像のようにImageViewに長方形を描画したいと思います(黒い境界線と背景として透明)。基本的に私は画像をダウンロードし、ImageViewに入れて、長方形を描くために4つのポイントを受け取った後です。前もって感謝します

ここに画像の説明を入力してください

ヴァシリスパラス

android.view.InflateExceptionの問題は、DrawViewクラスからコンストラクターを削除し、それらを再度自動生成することで解決できます。ここで、長方形の場合、次のようにonDrawを作成する必要があります。

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

    Paint paint = new Paint();
    paint.setColor(Color.TRANSPARENT);
    paint.setStyle(Paint.Style.FILL);
    float leftx = 50;
    float topy =  50;
    float rightx =  150;
    float bottomy =  150;
    // FILL
    canvas.drawRect(leftx, topy, rightx, bottomy, paint);

    paint.setStrokeWidth(10);
    paint.setColor(Color.BLACK);
    paint.setStyle(Paint.Style.STROKE);
    // BORDER
    canvas.drawRect(leftx, topy, rightx, bottomy, paint);
}

クリックして座標を取得したい場合は、長方形を描画してonTouchEventメソッドをオーバーライドし、次のようにします。

class DrawView extends ImageView {

    float x, y;
    float width = 60.0f;
    float height = 50.0f;
    boolean touched = false;

    public DrawView(Context context) {
        super(context);
    }

    public DrawView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public DrawView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

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


        if (touched) {
            Paint paint = new Paint();
            paint.setColor(Color.TRANSPARENT);
            paint.setStyle(Paint.Style.FILL);
            // FILL
            canvas.drawRect(x, y, (x + width) / 0.5f, (y + height) / 0.5f, paint);

            paint.setStrokeWidth(10);
            paint.setColor(Color.BLACK);
            paint.setStyle(Paint.Style.STROKE);
            // BORDER
            canvas.drawRect(x, y, (x + width) / 0.5f, (y + height) / 0.5f, paint);
        }
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        touched = true;
        //getting the touched x and y position
        x = event.getX();
        y = event.getY();
        invalidate();
        return true;
    }

}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

長方形を描くとPygameが黒い画面を表示する

分類Dev

アルバートで黒い境界線/背景、つまり透明度がないことを回避するにはどうすればよいですか?

分類Dev

Pygame:長方形の境界線を描く

分類Dev

gnuplotで色付きの境界線を持つ長方形を描く方法

分類Dev

長方形を使用して太い線を描く方法は?

分類Dev

重なると色が濃くなる透明な線を描くにはどうすればよいですか?

分類Dev

Kotlinで長方形を描く方法は?

分類Dev

iOSで半透明の長方形を描く

分類Dev

Swift(MacOS)で境界線のない長方形を描画する方法

分類Dev

XMLを使用して角が丸い長方形を描く方法は?

分類Dev

境界線を除いて透明なQMLの長方形

分類Dev

長方形の角だけを描く方法(それらを結ぶ線なしで)

分類Dev

SVGで境界線を取り除いた円を描く方法は?

分類Dev

Xamarin.iOSで角の丸い長方形を描く方法は?

分類Dev

Javaで矢印の付いた長方形を描く方法は?

分類Dev

半透明の画像の周りに境界線を描く方法は?(css)

分類Dev

cocos2d-xで白い背景レイヤーに赤い長方形のスプライトを描くのが難しいのはなぜですか?

分類Dev

CSSで片側に長方形の中心線を描く方法

分類Dev

ggplot-パネルの境界線が黒と白の長方形を交互に表示

分類Dev

長方形の境界線の太さを描く

分類Dev

svg長方形の境界線が正しく描画されない

分類Dev

Androidで楕円を描くことはできますが、長方形を描くことはできません

分類Dev

SCENEKITで無限に長い線を描く方法は?

分類Dev

透明なウィンドウに半透明の長方形を描く

分類Dev

matlabで透明な円を描く方法は?

分類Dev

画像の黒い領域に緑色の線を描く方法は?

分類Dev

xamarin.macで長方形を描く方法

分類Dev

ReactNativeで画像に長方形を描く方法

分類Dev

android -- 円で長方形を描く方法

Related 関連記事

  1. 1

    長方形を描くとPygameが黒い画面を表示する

  2. 2

    アルバートで黒い境界線/背景、つまり透明度がないことを回避するにはどうすればよいですか?

  3. 3

    Pygame:長方形の境界線を描く

  4. 4

    gnuplotで色付きの境界線を持つ長方形を描く方法

  5. 5

    長方形を使用して太い線を描く方法は?

  6. 6

    重なると色が濃くなる透明な線を描くにはどうすればよいですか?

  7. 7

    Kotlinで長方形を描く方法は?

  8. 8

    iOSで半透明の長方形を描く

  9. 9

    Swift(MacOS)で境界線のない長方形を描画する方法

  10. 10

    XMLを使用して角が丸い長方形を描く方法は?

  11. 11

    境界線を除いて透明なQMLの長方形

  12. 12

    長方形の角だけを描く方法(それらを結ぶ線なしで)

  13. 13

    SVGで境界線を取り除いた円を描く方法は?

  14. 14

    Xamarin.iOSで角の丸い長方形を描く方法は?

  15. 15

    Javaで矢印の付いた長方形を描く方法は?

  16. 16

    半透明の画像の周りに境界線を描く方法は?(css)

  17. 17

    cocos2d-xで白い背景レイヤーに赤い長方形のスプライトを描くのが難しいのはなぜですか?

  18. 18

    CSSで片側に長方形の中心線を描く方法

  19. 19

    ggplot-パネルの境界線が黒と白の長方形を交互に表示

  20. 20

    長方形の境界線の太さを描く

  21. 21

    svg長方形の境界線が正しく描画されない

  22. 22

    Androidで楕円を描くことはできますが、長方形を描くことはできません

  23. 23

    SCENEKITで無限に長い線を描く方法は?

  24. 24

    透明なウィンドウに半透明の長方形を描く

  25. 25

    matlabで透明な円を描く方法は?

  26. 26

    画像の黒い領域に緑色の線を描く方法は?

  27. 27

    xamarin.macで長方形を描く方法

  28. 28

    ReactNativeで画像に長方形を描く方法

  29. 29

    android -- 円で長方形を描く方法

ホットタグ

アーカイブ