0

有谁知道如何循环这幅画布?我想稍后添加一个 onTouch 方法并获取 X 位置。谢谢你。

  @Override
protected void onDraw(Canvas canvas) {
    //Canvas canvas= new Canvas();
    xp1 = canvas.getWidth()/2;
    Log.d("test1", "It went pass onDraw");
    xp2 = canvas.getWidth()/2;
    yp1 = 25;
    yp2 = 760;
    canvas.drawColor(Color.BLACK);
    canvas.drawBitmap(paddle1, xp1,yp1, null);
    canvas.drawBitmap(paddle2,xp2,yp2, null);
    Paint white = new Paint();
    white.setColor(Color.WHITE);
    canvas.drawText("Score P1:"+ p1Score +" P2: " + p2Score , 700, 20,white );  
    Log.d("test1", "It's done with onDraw");

}
4

1 回答 1

1

调用方法

invalidate();

每当您想对'onDraw'方法进行回调时

aSampleCode(){
        image.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {

                switch(event.getAction())
                {
                case MotionEvent.ACTION_MOVE:

                    x= event.getRawX()

                    break;
                case MotionEvent.ACTION_UP:
                                    invalidate();
                    break;
                case MotionEvent.ACTION_DOWN:
                    break;

                default:
                    break;
                }
                return true;
            }
        });
    }
}
于 2013-01-05T21:30:10.077 回答