5

タッチでボタンを押すアニメーションがあります。ユーザーが画面をスクロールしている間、押したままにできるようにしたい。これを行うために、基本的に画像を同じ状態に保ち、ACTION_MOVE で呼び出すアニメーションを作成しました。私の問題は、ボタンを離したときに ACTION_UP が呼び出されないことです。これにより、アニメーションがトリガーされ、ボタンがフルサイズに戻り、押されたように見えなくなります。ScrollView 内に相対レイアウト全体があります。何が起こっているのかまだ完全には理解できていませんが、ScrollView が onTouch イベントを「引き継いでいる」ようです。onTouchListener のコードは次のとおりです。

s104.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                clearAnim();
                s104.setAnimation(animPressed);
                s104.startAnimation(animPressed);
                return true;
            case MotionEvent.ACTION_MOVE:
                s104.setAnimation(animDrag);
                s104.startAnimation(animDrag);
                return true;
            case MotionEvent.ACTION_UP:

                s104.setAnimation(animReleased);
                s104.startAnimation(animReleased);

                return true;
            }
            return false;
        }
    });

ACTION_UP が呼び出されない理由がわかりません。どんな助けでも大歓迎です。

4

1 に答える 1