onTouch() 無法繪製畫布 (onTouch() can't draw canvas)


問題描述

onTouch() 無法繪製畫布 (onTouch() can't draw canvas)

onDraw(Canvas canvas) works automatically. In this view onTouch() method listens for touching the screen. I need to redraw the rectangle when I click on the screen but it isn't drawing the rectangle canvas.

public class Viewer extends View implements OnTouchListener{

    public Viewer(Context context) {
        super(context);

        .............
        ..............
        this.setOnTouchListener(this);              
    }

    @Override
    public void onDraw(Canvas canvas){  
        super .onDraw(canvas);
        drawBackGround(imgObj.bg01, canvas);    
    }

    @Override
    public boolean onTouch(View v,MotionEvent event) {
        // TODO Auto‑generated method stub      

        Canvas c = new canvas();
        c.drawRect(.......);    //<‑‑‑‑‑‑ It's work but it isn't redraw
        return true;
    }

參考解法

方法 1:

Try this,

Canvas mCanvas;
 @Override
    public void onDraw(Canvas canvas){  

        mCanvas = canvas;
        drawBackGround(imgObj.bg01, mCanvas);
        super.onDraw(mCanvas);

    }

    @Override
    public boolean onTouch(View v,MotionEvent event) {
        // TODO Auto‑generated method stub      

        mCanvas.drawRect(.......); 
        invalidate();
        return true;
    }

(by Fame thJiTHiN)

參考文件

  1. onTouch() can't draw canvas (CC BY‑SA 3.0/4.0)

#draw #canvas #Android






相關問題

使用Java繪製維恩圖 (Draw Venn diagram using Java)

android中的ontouch:獲取X和Y坐標並在該點上繪製圓 (ontouch in android: getting X and Y coordinates and drawing circle on that point)

如何在android上將谷歌地圖圖層作為片段佈局移動 (how to move google map layers as fragment layout on android)

onTouch() 無法繪製畫布 (onTouch() can't draw canvas)

佈局僅在屏幕關閉或離開應用程序並返回後顯示兒童 (Layout only shows children after screen turn off or leaving the app and coming back)

將形狀對象的 ArrayList 繪製到框架 (Paint ArrayList of Shape Objects to Frame)

多線程圖形 (multithreading Graphics)

一次性繪製所有 DrawableGameComponents (Drawing all DrawableGameComponents in a single batch)

html5畫布繪製帶有額外數據的圓形變量 (html5 canvas draw circle variables with extra data)

iphone初學者問題:畫一個矩形。我究竟做錯了什麼? (Beginner iphone question: drawing a rectangle. What am I doing wrong?)

連接 4 Android Studio 繪製空格 (Connect 4 Android Studio Draw empty spaces)

矩形不動 (Rectangle is not moving)







留言討論