0

私は sufaceview を使用して、指が電話画面上を移動するときにパスを描画しています。しかし、指を非常に速く動かしていると、すべてのポイントが登録されず、ちらつきに直面しています

    @Override
public void run() {
    while(running){ 
        running = true;
        if(!holder.getSurface().isValid())
            continue;

        Canvas canvas = holder.lockCanvas();
        canvas.drawCircle(right, bottom, 2, paint);
        holder.unlockCanvasAndPost(canvas);
    }
}

@Override
public boolean onTouch(View view, MotionEvent event){
    switch(event.getAction()){
    case MotionEvent.ACTION_MOVE:
        right = event.getX();
        bottom = event.getY();
        break;
    }
    return true;
}

誰でもこれを手伝ってもらえますか?

前もってありがとう、ジェガン

4

1 に答える 1

0

メソッドでスレッドを開始しますonSurfaceCreate()。i、e

@Override

public void surfaceCreated(SurfaceHolder holder)

{
     //write your code here
}

継続的なイベントが必要です。このリンクを優先する http://www.mindfiresolutions.com/Using-Surface-View-for-Android-1659.php

于 2013-02-16T07:53:29.887 に答える