解决方案思路:
自定义View,继承HorizontalScrollView,重写onScrollChanged方法,将此方法的监听抽成接口,暴露到外面调用。
之后,在java代码中给我们自定义的HorizontalScrollView设置监听。
mHorizontalScrollView
= (MyScrollView) findViewById(R.id.
horizontalScrollView_re
);
mHorizontalScrollView
.setScrollViewListener(
new
MyScrollView.ScrollViewListener() {
@Override
public void
onScrollChanged(MyScrollView scrollView,
int x,int y,int oldx,int oldy
) {
horizontalScrollView_title
.scrollTo
(x, y);
}
});
附:MyScrollView.java
附:MyScrollView.java
public class MyScrollView extends HorizontalScrollView { private ScrollViewListener scrollViewListener = null; public MyScrollView(Context context) { super(context); } public MyScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); if (scrollViewListener != null) { scrollViewListener.onScrollChanged(this, l, t, oldl, oldt); } } public void setScrollViewListener(ScrollViewListener scrollViewListener) { this.scrollViewListener = scrollViewListener; } public interface ScrollViewListener { void onScrollChanged(MyScrollView scrollView, int x, int y, int oldx, int oldy); } }