ScrollView的滚动监听
博客专区 > xunfang 的博客 > 博客详情
ScrollView的滚动监听
xunfang 发表于2年前
ScrollView的滚动监听
  • 发表于 2年前
  • 阅读 37
  • 收藏 0
  • 点赞 1
  • 评论 1

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: ScrollView的滚动监听

自定义一个实现ScrollView的View,代码如下:

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);
    }
}

在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的滚动监听事件

 // 设置滚动监听
        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);
                }
            }
        });

共有 人打赏支持
粉丝 0
博文 50
码字总数 7950
评论 (1)
aeatho
Nnnn
×
xunfang
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: