文档章节

ScrollView的滚动监听

xunfang
 xunfang
发布于 2016/03/03 16:26
字数 172
阅读 51
收藏 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 :这个属性可以在四周增加滚动范围 其他属性 ...

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

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

青蛙要fly
2017/07/04
0
0
ReactNative基础(三)了解ScrollView并打造一个Banner效果

此博客基于react-native-0.48.4 ScrollView简介 一个包装了平台的ScrollView(滚动视图)的组件,同时还集成了触摸锁定的“响应者”系统。 这个就跟Android中的ScrollView总体来说是一样的,...

a_zhon
2017/09/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nextjs+React非页面组件SSR渲染

@随风溜达的向日葵 Nextjs Nextjs是React生态中非常受欢迎的SSR(server side render——服务端渲染)框架,只需要几个步骤就可以搭建一个支持SSR的工程(_Nextjs_的快速搭建见Next.js入门)...

随风溜达的向日葵
今天
0
0
如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
今天
3
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
今天
6
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxCool
今天
4
0
携程Apollo统一配置中心的搭建和使用(java)

一.Apollo配置中心介绍 1、What is Apollo 1.1 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到...

morpheusWB
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部