在我的应用程序中,我使用了两个外部库(滑动菜单和水平列表视图)。第一个实现了类似 Facebook 应用程序的滑动菜单效果,它运行良好,我可以通过滑动或单击按钮来触发移动。第二个实现了一个水平列表视图,我可以向右/向左滚动滑动。使用它们我可以看到列表视图,但滚动运动不起作用。我该如何解决?我猜菜单正在“窃取”滑动动作。
如果您需要一些代码,请询问。
编辑:实际上它有效!我只需将手指放在水平视图上并向上/向下滑动一点,然后我就可以向左/向右滑动。这可能是导致这种行为的原因?
有非常简单的解决方案!只需为您的 HorizontalListView 设置 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;
}
}
);