4

こんにちは私は大きな画像をロードするアプリケーションと、それを横切って移動できる簡単なジェスチャーを作成したいと思います。画像を印刷する必要がありますが、onTouchを実装できないため、静止したままです。どんな助けも前置き。ありがとう

絵を描くための私のコード:

@Override protected void onDraw(Canvas canvas) {
          super.onDraw(canvas);
                   Paint paint = new Paint();
            paint.setStyle(Paint.Style.FILL);

            // make the entire canvas white
            paint.setColor(Color.WHITE);
            canvas.drawPaint(paint);
paint.setStrokeWidth(1);
            paint.setPathEffect(null);
            paint.setColor(Color.GRAY);
            paint.setAntiAlias(true);


            for (int i=1; i < 100; i++){
                canvas.drawLine(0, i*1 , 600, i*20, paint);
                canvas.drawLine(i*1 ,0, i*20, 600, paint);      
            }
}
4

2 に答える 2

6

すでにカスタムビューを作成しているので、リスナーを設定する代わりに、GestureDetectorビュー内にandリスナーを組み込むことをお勧めしますswitch(e.getAction())。これOnGestureListenerは、より高いレベルにあり、すでに検出されたイベントを提供するため、何よりも避けてください。ジェスチャー(スクロール、フリング、長押し...)。

こちらの例をご覧ください。

于 2011-02-27T20:58:43.743 に答える
3

ビュー内で、次のような「OnTouchListener」を作成する必要があります。

myView.setOnTouchListener(new View.OnTouchListnener(){
    @Override
    public boolean onTouch(View v, MotionEvent e){
        switch(e.getAction()){
        case MotionEvent.ACTION_DOWN:
        //and code will go here for putting the finger on the screen

私はMotionEventとさまざまなレベルを見ていきます。数ビットの動き情報を1つにまとめる方法に注意を払う必要がありますMotionEvent.

于 2011-02-27T20:36:52.897 に答える