文档章节

ScrollView的滚动监听

xunfang
 xunfang
发布于 2016/03/03 16:26
字数 172
阅读 49
收藏 0

自定义一个实现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);
                }
            }
        });

© 著作权归作者所有

共有 人打赏支持
xunfang
粉丝 0
博文 51
码字总数 7950
作品 0
海淀
程序员
私信 提问
加载中

评论(1)

aeatho
aeatho
Nnnn
SwipeRefreshLayout简单说明

SwipeRefreshLayout是谷歌官方的下拉刷新控件,代码在V4包中。 使用SwipeRefreshLayout有几个要注意的: SwipeRefreshLayout和ScrollView一样只能有一个字控件。 setOnRefreshListener设置监...

oschina2136
2015/08/24
0
0
【Android】商品详情页实现

我告诉自己,要独立,要坚强,要勇敢,要活的漂亮,要让自己永远善良。 现今的市场说O2O模式很火一点都不假,例如电商,各行各业都在做电商。而做电商平台必不可少的是商品详情页,那么如何实...

zrunker
2017/10/25
0
0
iOS程序-UIScrollView的基本使用

方法/步骤 常见属性 CGSize contentSize :设置UIScrollView的滚动范围 CGPoint contentOffset :UIScrollView当前滚动的位置 UIEdgeInsets contentInset :这个属性可以在四周增加滚动范围 ...

hejunbinlan
2016/06/22
3
0
ios UIScrollView

常见属性 CGSize contentSize :设置UIScrollView的滚动范围 CGPoint contentOffset :UIScrollView当前滚动的位置 UIEdgeInsets contentInset :这个属性可以在四周增加滚动范围 其他属性 ...

_pioneer_
2016/01/15
29
0
项目需求讨论-自定义滚轮

大家好,这次又是到了实际的项目需求讨论时间,我的一些文章下面,有时候有人评论,求源码,求Demo,我的主张是仔细看文章,自己理解了再写一遍,会懂得更多。大部分人都习惯直接拿过来用,能...

青蛙要fly
2017/07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

day150-2018-11-17-英语流利阅读-待学习

歪果仁也疯狂:海外版抖音的征途 毛西 2018-11-17 1.今日导读 海外版抖音 TikTok 于 2017 年 5 月上线海外,至今覆盖全球 150 多个国家和地区,月活跃用户数已突破 5 亿。然而,“出海”的抖...

飞鱼说编程
今天
5
0
分布式学习最佳实践:从分布式系统的特征开始(附思维导图)

什么是分布式系统 回到顶部   分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法...

dragon_tech
今天
4
0
TOKEN设计

TOKEN设计 Api_Token 首先需要知道API是什么? API(Application Programming Interface)即应用程序接口。你可以认为 API 是一个软件组件或是一个 Web 服务与外界进行的交互的接口。而我们在...

DrChenXX
今天
3
0
浅谈“李氏代换”——从纪念金庸和斯坦李说起

李氏代换(LSP)简介 李氏代换是软件设计的一个原则,又名依赖倒转原则或依赖倒置原则,其衍生原则有接口分离原则等。该原则由Barbara Liskov于1988年提出。 该原则指出,程序中高级别的元素...

SamYjy
今天
35
0
JavaScript实现在线websocket WSS测试工具 -toolfk程序员工具网

本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。T...

toolfk
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部