ScrollView巢狀ViewPager,導致滑動不暢,以及不顯示的解決辦法
阿新 • • 發佈:2019-01-08
自定義ScrollView
public class MyScrollView extends ScrollView {
private GestureDetector mGestureDetector;
public MyScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev)
&& mGestureDetector.onTouchEvent(ev);
}
class YScrollDetector extends SimpleOnGestureListener {
@Override
public boolean onScroll (MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
/**
* 如果我們滾動更接近水平方向,返回false,讓子檢視來處理它
*/
return (Math.abs(distanceY) > Math.abs(distanceX));
}
}
}
針對不顯示的問題,要呼叫scrollview的一個方法
scrollview.smoothScrollTo (0, 20);