1、自定义一个类继承 ScrollView
package com.chitty.views;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ScrollView;
/**
* scrollview 滑动控制高度
* Created by Chitty on 17/8/21.
*/
public class SlideHolderScrollView extends ScrollView {
private ScrollViewListener scrollViewListener = null;
public SlideHolderScrollView(Context context) {
super(context);
}
public SlideHolderScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public SlideHolderScrollView(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);
}
public interface ScrollViewListener {
void onScrollChanged(SlideHolderScrollView scrollView, int x, int y, int oldx, int oldy);
}
}
2、在 SlideHolderScrollView 类中自定义一个接口 ScrollViewListener
public interface ScrollViewListener {
void onScrollChanged(SlideHolderScrollView scrollView, int x, int y, int oldx, int oldy);
}
3、ScrollView 是拥有 onScrollChanged 方法的,我们需要写一个接口把它暴露出来,从而不限制 API 的级别,都可以使用。