Android自定义ScrollView:实现滑动顶部停靠

本文介绍了如何在Android中自定义ScrollView,实现滑动时内容顶部停靠的效果。通过继承ScrollView,监听滑动事件,判断布局重合状态,并进行布局动态调整,详细阐述了实现过程和关键代码。
摘要由CSDN通过智能技术生成

先看看实现效果:

这里写图片描述

自定义ScrollView实现滑动顶部停靠的过程:

第一步 首先自定义MyScrollview 继承Scrollview,实现滑动的监听

在onTouchEvent()方法中监听用户的触摸操作,并在onScroll方法中获取ScrollView滑动的距离。
详细代码如下:

/*
 * ScrollView并没有实现滚动监听,我们必须自行实现对ScrollView的监听,
 * 我们很自然的想到在onTouchEvent()方法中实现对滚动Y轴进行监听;
 * ScrollView的滚动Y值进行监听;
 */
public class MyScrollView extends ScrollView {
   
    private OnScrollListener onScrollListener;
    /**
     * 主要是用在用户手指离开MyScrollView,MyScrollView还在继续滑动,我们用来保存Y的距离,然后做比较
     */
    private int lastScrollY;

    public MyScrollView(Context context) {
        super(context, null);
    }
    public MyScrollView(Context context, AttributeSet attrs) {
        super(context, attrs, 0);
    }
    public MyScrollView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }
    /**
     * 设置滚动接口
     * @param onScrollListener
     */
    public void setOnScrollListener(OnScrollListener onScrollListener){
        this.onScrollListener = onScrollListener;
  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值