解決ScrollView.setOnScrollChangeListener() API23問題;
阿新 • • 發佈:2019-01-27
解決ScrollView.setOnScrollChangeListener() API23以上可用問題;
#
雖然現在很多人都是直接使用的RecycleView代替ScrollView,但今天我還是使用ScrollView.
1、首先自定義一個介面
public interface ScrollViewListener {
void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy);
}
2、建立一個類繼承ScrollView
public class ObservableScrollView extends ScrollView { private ScrollViewListener scrollViewListener = null; public ObservableScrollView(Context context) { super(context); } public ObservableScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public ObservableScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public void setScrollViewListener(ScrollViewListener scrollViewListener) { this.scrollViewListener = scrollViewListener; } @Override protected void onScrollChanged(int x, int y, int oldx, int oldy) { super.onScrollChanged(x, y, oldx, oldy); if (scrollViewListener != null) { scrollViewListener.onScrollChanged(this, x, y, oldx, oldy); } } }