0

ユーザーが画面に触れたときに Rect を SurfaceView に描画したいと考えています。指を動かすと、Rect も一緒に動きます。ユーザーは Rect のサイズを変更することもできます。基本的には選択ツールです。

これまでのところ、次のコードがあります。

private void selectPoints(){
    //retrieve X and Y values from touch
    surfaceView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent pos) {
            int eventAction = pos.getAction();
            switch (eventAction) { 
                case MotionEvent.ACTION_DOWN:
                    Log.d("X",String.valueOf(pos.getX()));
                    Log.d("Y",String.valueOf(pos.getY()));  
                    break; 

                case MotionEvent.ACTION_UP: 
                    Log.d("X",String.valueOf(pos.getX()));
                    Log.d("Y",String.valueOf(pos.getY()));
                    break;
            }       

            return true;                        
        }
    });     
}

ただし、SurfaceView に描画する方法がわかりません。アドバイス/ヘルプはありますか?

ありがとうございました!

4

2 に答える 2

1

GLSurfaceView.Renderer インターフェイスからレンダラーを実装し、次のメソッドの実装を提供します。

public void onSurfaceCreated(GL10 gl, EGLConfig config) {
    // TDOD
}

public void onSurfaceChanged(GL10 gl, int w, int h) {
    // TDOD
}

public void onDrawFrame(GL10 gl) {      
    // You would draw here
}

onDrawFrame() メソッドは、surfaceView.requestRender(); から呼び出すことができます。

于 2013-07-03T01:09:45.367 に答える