文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

play framework 如何支持多数据源

有段时间没有写博客了,但今天又写一篇了,主要是因为这事有一丝自己的思考和动手实践,所以就记录下来了。 现有的问题: play 1.2.4 两台数据库服务器,但是play1.2.4 并不支持同时连接两台...

tuerqidi
19分钟前
0
0
Mysql only_full_group_by解析

查看当前数据库模式: select @@sql_mode; 原因: mysql 5.7中的sql_mode的值中包含'ONLY_FULL_GROUP_BY'; 处理:执行以下SQL set GLOBAL sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,N......

年轻的中年大叔
21分钟前
1
0
防止表单重复提交

1:前端方式(治标不治本) $("#admin-role-save").click(function(){//admin-role-save为submit的idvar ts=$(this);var ts_old_val=ts.val();ts.val("提交中....");ts.att...

uug
21分钟前
1
0
保持屏幕常亮

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 在act的created方法中调用即可,一般是播放视频的时候......

Carbenson
21分钟前
1
0
智能合约实施指南

与区块链技术一样,智能合约在商业领域也非常有价值。 为了让我们的读者彻底了解智能合约是什么以及它们如何影响现代商业的交易方式,我们准备了本指南。 集中商业模式正在给去中心化的模式让...

geek12345
24分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部