我需要实现以下场景,
这里我有两个horizontalScrollViews,上scrollView 是主菜单,下scrollView 是子菜单。
当我滚动主菜单时,中心箭头下方的菜单将在下部滚动视图中显示其子菜单,并且从下部滚动视图中,中心箭头下方的子菜单显示该子菜单的屏幕。
这是我的要求:
我已经使用 HorizontalScrollViews 和 ViewFlipper 实现了它,它也可以工作,但只有当我缓慢滚动而不是快速滚动时它才会给出正确的结果。
我已经使用了带有 ACTION_UP 事件的 onTouch() 方法,所以当我从屏幕上松开手指时,它会在该点给我 getScrollX() 位置,但是当滚动完成/停止时我需要 getScrollX() 位置。
这是我的代码:-
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (v.getId()) {
case R.id.mHorizontalScrollViewMain:
if (event.getAction() == KeyEvent.ACTION_UP) {
Log.d("test", " " + hsvUpperTab.getScrollX() + " , "+ mViewFlipper.getChildCount());
getUpperTabScrolled(hsvUpperTab.getScrollX());
}
break;
case R.id.mHorizontalScrollViewSub:
if (event.getAction() == KeyEvent.ACTION_UP) {
Log.d("test1", " " + hsvLowerTab.getScrollX());
getLowerTabScrolled(hsvLowerTab.getScrollX());
}
default:
break;
}
return false;
}