0

私のonTouch(View view, Motionevent event)メソッドでは、view.getY()常に同じ (0.0) を返します。どのビューがタッチされているかを確認し、 と比較したいint Y = event.getRawY()。このようなことが可能でしょうか?

その理由は、レイアウトにいくつかのアニメーション化されたフィールドがあり、どのビューに触れているかによって、各ビューを異なる方法でアニメーション化したいからです。アドバイスやアイデアをいただければ幸いです。前もって感謝します

4

2 に答える 2

0

問題を解決するためにこれを行いました:

LinearLayout animLayout = new LinearLayout(this);
animLayout.addView(//add some view);
animLayout.setId(1)
animLayout.setOnTouchListener(this);

@Override
public boolean onTouch(View view, MotionEvent event){
    case MotionEvent.ACTION_UP
        switch (view.getId()}
        case 1:
            //My code
            break;
        }
        break;
    }
}

基本的に、ビューに ID を与え、onTouch でスイッチのケースで ID を取得し、それを使ってやりたいことを行います。

于 2013-10-03T11:47:22.443 に答える
0

最初に API リファレンスを確認してください。View.getY および Motionevent.getRawY を参照してください。

于 2013-10-01T13:01:34.463 に答える