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