文档章节

ScrollView的滚动监听

xunfang
 xunfang
发布于 2016/03/03 16:26
字数 172
阅读 49
收藏 0
点赞 1
评论 1

自定义一个实现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
ReactNative基础(三)了解ScrollView并打造一个Banner效果

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

a_zhon
2017/09/27
0
0
怎么判断android中ScrollView滑动到了最底部?

滚动到顶部判断: getScrollY() == 0 滚动到底部判断: View childView = getChildAt(0); childView.getMeasuredHeight() <= getScrollY() + getHeight(); 其中getChildAt表示得到ScrollView的......

mfcai
2015/07/26
0
0
UIScrollView 常见属性 手势缩放 分页效果

一、 基本使用 作用 UIScrollView可以用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看 常见属性  CGSize contentSize :设置UIScrollView的滚动范围  CGPoint cont...

CEOIOS
2015/01/29
0
1
UIScrollView的常见属性和方法

二、UIScrollView 的常见属性 1、contentSize // default CGSizeZero @property(nonatomic) CGSize contentSize; 1.1 contentSize 的含义: 告诉 UIScrollView 要展示的内容实际有多大,也就是......

哪一种黑
2016/02/29
28
2
UIScrollView 常见属性 手势缩放 分页效果

一、 基本使用1. 作用UIScrollView可以用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看 2. 常见属性 CGSize contentSize :设置UIScrollView的滚动范围 CGPoint co...

哥特复心
2013/11/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python以太坊类库web3.py概览

python通过web3.py库与以太坊交互共同入口是web3对象。web3对象提供API接口,python开发应用与以太坊进行交互如钱包创建、支付、转账等连接JSON-RPC服务器进行。 Providers提供者 Providers使...

智能合约
5分钟前
0
0
【Android学习笔记】设置App启动页

先将启动页放到项目资源中,图片一般是1080*1920的jpg。 新建一个activity,如图: 创建成功之后,打开刚刚创建的activity,来进行代码的编写: >>>阅读全文

全部原谅
6分钟前
0
0
什么是React-redux、为什么使用React-redux、怎么使用React-redux

1、什么是React-redux React-redux是用于连接React和Redux的 2、为什么使用React-redux 使用React-redux可以使redux部分代码更简洁更明了,比如组建中需要使用到的数据都在mapStateToProps方...

kimyeongnam
9分钟前
0
0
Spring核心——Stereotype组件与Bean扫描

在注解自动装载中介绍了通过注解(Annotation)自动向Bean中注入其他Bean的方法,本篇将介绍通过注解(Annotation)向容器添加Bean的方法。 Spring的核心容器提供了@Component和@Bean注解来标...

随风溜达的向日葵
9分钟前
0
0
利用世界杯,读懂 Python 装饰器

Python 装饰器是在面试过程高频被问到的问题,装饰器也是一个非常好用的特性, 熟练掌握装饰器会让你的编程思路更加宽广,程序也更加 pythonic。 今天就结合最近的世界杯带大家理解下装饰器。...

猫咪编程
13分钟前
0
0
flink fold example

flink fold例子 import org.apache.flink.api.common.functions.*;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.S......

coord
14分钟前
0
0
c++ qt 组播总结

每个人都有不同的认知规律和习惯, 有的人喜欢搞一套严密的大理论, 论述起来滔滔不绝, 不管自己懂不懂, 反正读者/听者是没搞懂。 有的人喜欢从实践出发, 没看到代码, 不运行一下, 不看...

backtrackx
18分钟前
0
0
Sublime text2安装json格式化插件SublimePrettyJson[Windows]

一、下载SublimePrettyJson插件包 https://github.com/dzhibas/SublimePrettyJson 二、将下载的文件解压放到在package目录下面 C:\Users\lucky\AppData\Roaming\Sublime Text 3\Packages 每个......

lazy~
18分钟前
0
0
安装vue-cli 报4058错误

1. 4058是网络代理错误。 安装淘宝源修改一下就可以了: npm --registry https://registry.npm.taobao.org info underscore 改为cnpm执行: cnpm install --global vue-cli 安装成功: 试试版...

MrBoyce
19分钟前
0
0
CPU飙升分析

1、top -----看具体的进程 2、top -H -p pid ------该进程的线程 3、printf 0x%x 15248 ------将线程改为16进制 4、jstack 进程...

北极之北
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部