0

私のアプリでは、2 つの外部ライブラリ ( Sliding menuHorizo​​ntal Listview ) を使用しています。最初のものは、Facebook アプリのようなスライド メニュー効果を実装し、うまく動作します。ボタンをスワイプまたはクリックすることで動きをトリガーできます。2 つ目は、左右にスワイプしてスクロールできる水平リストビューを実装します。それらの両方を使用すると、リストビューは表示されますが、スクロールの動きは機能しません。どうすれば解決できますか?メニューがスワイプアクションを「盗んでいる」と思います。

コードが必要な場合は、お尋ねください。

編集:実際に動作します!水平ビューに指を置き、少し上下にスワイプするだけで、左右にスワイプできます。この動作の原因はどれですか?

4

1 に答える 1

2

非常に簡単な解決策があります!Horizo​​ntalListView に OnTouchListener を設定し、ACTION_DOWN でスリンディング メニューを無効にし、ACTION_UP で再び有効にします。

getActivity().findViewById(R.id.my_horizontal_list_view).setOnTouchListener(

    new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {

            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                ((SlidingFragmentActivity) getActivity()).getSlidingMenu().setSlidingEnabled(false);
            }

            if (event.getAction() == MotionEvent.ACTION_UP) {
                ((SlidingFragmentActivity) getActivity()).getSlidingMenu().setSlidingEnabled(true);
            }

            return false;
        }
    }
);
于 2013-02-22T00:03:38.130 に答える