0

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

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

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

4

1 回答 1

2

有非常简单的解决方案!只需为您的 Horizo​​ntalListView 设置 OnTouchListener,在 ACTION_DOWN 上禁用 slinding 菜单并在 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 回答