Android滑动侧边菜单和水平列表视图

时间:2012-12-16 18:12:08

标签: android android-fragments swipe-gesture

在我的应用中,我使用了两个外部库(Sliding menuHorizontal Listview)。第一个实现像Facebook应用程序一样的滑动菜单效果,它工作正常,我可以通过滑动或单击按钮触发移动。第二个实现水平列表视图,我可以向右/向左滚动。使用它们我可以看到列表视图,但滚动运动不起作用。我该如何解决?我猜菜单是“窃取”滑动动作。

如果您需要一些代码,请询问。

编辑:实际上它有效!我只需要将手指放在水平视图上并向上/向下滑动一下然后我可以向左/向右滑动。这可能是导致这种行为的原因吗?

1 个答案:

答案 0 :(得分: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;
        }
    }
);