ScrollView置顶按钮
public class PullableScrollView extends ScrollView implements PullableListener, View.OnClickListener {
private ImageView goTopBtn;
private int screenHeight;
public PullableScrollView(Context context) {
super(context);
}
public PullableScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public PullableScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean canPullDown(MotionEvent event) {
if (getScrollY() == 0)
return true;
else
return false;
}
@Override
public boolean canPullUp(MotionEvent event) {
if (getScrollY() >= (getChildAt(0).getHeight() - getMeasuredHeight()))
return true;
else
return false;
}
public void setScrollListener(ImageView goTopBtn) {
if (goTopBtn == null) {
return;
} else {
this.goTopBtn = goTopBtn;
this.goTopBtn.setOnClickListener(this);
}
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
/**
* 滑动距离超过500px,出现向上按钮,可以做为自定义属性
*
*/
if (goTopBtn == null) {
return;
} else {
if (t >= 500) {
goTopBtn.setVisibility(View.VISIBLE);
} else {
goTopBtn.setVisibility(View.GONE);
}
}
}
}
}
`MainActivity将图片传入即可 pullableScrollView.setScrollListener(topImg);
布局:
<com.isgo.isgogallery.widget.PullableScrollView
android:id="@+id/home_pull_scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
中间只能有一个child
</com.isgo.isgogallery.widget.PullableScrollView>