自定義一個實現ScrollView的View,代碼以下:
android
package com.art.artcircle.widget;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ScrollView;
public class ScrollListenerView extends ScrollView {
private OnScrollVerticalChangedListener mListener;
public ScrollListenerView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public ScrollListenerView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ScrollListenerView(Context context) {
super(context);
}
public void setOnScrollVerticalChangedListener(OnScrollVerticalChangedListener listener) {
mListener = listener;
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
if (t != oldt) {
mListener.onScrollVerticalChanged(t);
}
}
public interface OnScrollVerticalChangedListener {
void onScrollVerticalChanged(int currentVertical);
}
}ide
在layout佈局中使用:佈局
<com.art.artcircle.widget.ScrollListenerView
android:id="@+id/slv_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/layout_title"
android:orientation="vertical"
android:scrollbars="none">
</com.art.artcircle.widget.ScrollListenerView>事件
代碼中處理ScrollView的滾動監聽事件ci
// 設置滾動監聽
ScrollListenerView scrollListenerView = (ScrollListenerView) findViewById(R.id.slv_view);
scrollListenerView.setOnScrollVerticalChangedListener(new ScrollListenerView.OnScrollVerticalChangedListener() {
@Override
public void onScrollVerticalChanged(int currentVertical) {
if (mPhoneRelativeLayout.getVisibility() == View.VISIBLE) {
mPhoneRelativeLayout.setVisibility(View.GONE);
}
}
});get