0

ScrollViewaと a の間に競合がありViewPagerます。

私はその線に沿って何かをしようとしています

If user clicks ViewPager:
   Disable ScrollView

If user releases ViewPager:
   Enable ScrollView

無効化/有効化コードは既に機能していますが、クリック/リリース コードが機能しません。

を使ってみOnTouchたので、..

pager.setOnTouchListener(new OnTouchListener() {

    public boolean onTouch(View v, MotionEvent event) {

        if (event.getAction() == MotionEvent.ACTION_DOWN){
            scroller.setScrollingEnabled(false);
        }

        if (event.getAction() == MotionEvent.ACTION_UP){
            scroller.setScrollingEnabled(true);
        }

        return true;
    }
});

..しかし、これはViewPagerの左右のスクロールを無効にしているようです。私はそれを間違って使用していますか?

プレスとリリースを検出する他の方法はありますか? また、Android 2.1以降で動作するようにしようとしているので、OnDrag互換性がないようです.

4

1 に答える 1

1

OnTouchListener インターフェイスへの OnTouch() メソッドの戻り値の説明:

リスナーがイベントを消費した場合は true、それ以外の場合は false。

OnTouchListener ドキュメント

タイプ ACTION_DOWN または ACTION_UP のアクションに対してのみ true を返すようにしてください。それ以外の場合は false を返します。

于 2012-08-24T09:32:21.563 に答える