package cn.testscrollview;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ScrollView;
import android.app.Activity;
/**
 * Demo描述:
 * 监听ScrollView滑动到顶端和底部
 *
 * 注意事项:
 * 1 mScrollView.getChildAt(0).getMeasuredHeight()表示:
 *   ScrollView所占的高度.即ScrollView内容的高度.常常有一
 *   部分内容要滑动后才可见,这部分的高度也包含在了
 *   mScrollView.getChildAt(0).getMeasuredHeight()中
 *  
 * 2 view.getScrollY表示:
 *   ScrollView顶端已经滑出去的高度
 *  
 * 3 view.getHeight()表示:
 *   ScrollView的可见高度
 *  
 */
public class MainActivity extends Activity {
    private ScrollView mScrollView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        init();
    }
    private void init(){
        mScrollView=(ScrollView) findViewById(R.id.scrollView);
        mScrollView.setOnTouchListener(new TouchListenerImpl());
    }
    private class TouchListenerImpl implements OnTouchListener{
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            switch (motionEvent.getAction()) {
            case MotionEvent.ACTION_DOWN:
                break;
            case MotionEvent.ACTION_MOVE:
                 int scrollY=view.getScrollY();
                 int height=view.getHeight();
                 int scrollViewMeasuredHeight=mScrollView.getChildAt(0).getMeasuredHeight();
                 if(scrollY==0){
                        System.out.println("滑动到了顶端 view.getScrollY()="+scrollY);
                    }
                 if((scrollY+height)==scrollViewMeasuredHeight){
                        System.out.println("滑动到了底部 scrollY="+scrollY);
                        System.out.println("滑动到了底部 height="+height);
                        System.out.println("滑动到了底部 scrollViewMeasuredHeight="+scrollViewMeasuredHeight);
                    }
                break;
            default:
                break;
            }
            return false;
        }
         
    };
}

Android监听ScrollView滑动到顶端和底部相关推荐

  1. Android中监听ScrollView滑动停止和滑动到底部

    1.监听ScrollView滑动停止: [java] view plaincopy /********************监听ScrollView滑动停止********************* ...

  2. Android 监听ScrollView的滑动

    有时候我们需要监听ScroView的滑动情况,比如滑动了多少距离,是否滑到布局的顶部或者底部.可惜的是SDK并没有相应的方法,不过倒是提供了一个 protected void onScrollChan ...

  3. android 监听webView滑动距离和标题栏颜色渐变

    重写webView之 X5WebView import android.annotation.SuppressLint; import android.content.Context; import ...

  4. android scrollview 滚动到底部判断,怎么判断android中ScrollView滑动到了最底部?

    滚动到顶部判断: getScrollY() == 0 滚动到底部判断: View childView = getChildAt(0); childView.getMeasuredHeight() &l ...

  5. 仿网易云音乐日推界面(监听AppBarLayout滑动+动态高斯模糊)

    首先来看下日推界面的效果: 网易云音乐日推界面的亮点就是在上拉的时候,banner页面逐渐模糊.字体透明度下降,最后左上角显示出"每日推荐"的字体. 这个界面用户会觉得很清晰.便捷 ...

  6. Android 监听 WiFi 开关状态

    Android 监听 WiFi 开关状态 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/70854309 本文出自[赵彦军的博客] ...

  7. android 监听手机电量变化

    今天,简单讲讲如何监听手机电量的变化. 监听电量是不能静态注册的. 后来上网搜索,发现有五个不能静态注册的广播,这里记录一下,免得下次再后知后觉的发现并惊讶于自己的笨拙. 不能静态注册的广播: and ...

  8. android 监听手机开机

    今天,简单讲讲  android 监听手机开机. 需求描述:有些时候,我们需要我们的程序在开机后能自动运行,在系统即将关闭时,能写入一些记录到指定的文件里. 一.开机广播监听: Android系统 ...

  9. android 监听屏幕是否锁屏

    今天,简单讲讲如何监听手机屏幕是否锁屏. 实现方法:1)通过BroadcastReceiver接收广播Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF可 ...

最新文章

  1. python和c++的相互调用教程
  2. 【错误记录】Kotlin 编译报错 ( Not nullable value required to call an ‘iterator()‘ method on for-loop range )
  3. mysql第五章项目二_Todo List:Node+Express 搭建服务端毗邻Mysql – 第五章(第1节)
  4. SAP Data Intelligence Modeler里的Kafka Producer和Kafka Consumer
  5. 操作系统内存管理--简单、页式、段式、段页式
  6. 励志!26岁单臂博士生:我想在科研的道路上发更多高质量论文
  7. 中国股市悬着四把利剑
  8. 17. GD32F103C8T6入门教程-adc 使用教程2-dma+连续扫描方式采集数据++dma中断通知
  9. nyoj 1321信息战(九)——水淹七军(搜索bfs)
  10. 粉碎文件软件测试大乐,软件测试基础(面试)(27页)-原创力文档
  11. 汇编学习笔记(1)基础知识
  12. 中国车机行业竞争态势与未来发展策略分析报告2022-2028年
  13. 运放失调电压和开环增益,PSRR,CMRR的关系
  14. 计算机类综述论文范文,综述的写法(计算机类论文综述的写法)
  15. NOIP2014提高组 飞扬的小鸟
  16. 分享一下杭州医院的看病流程(我去的杭州市第三人民医院)
  17. DC的逻辑综合与优化
  18. Unity Tilemap动态生成2d地图
  19. mysql关联删除(删除不存在另一张表的记录)
  20. 钉钉企业内部机器人python开发(公网部署版本)

热门文章

  1. 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )
  2. 【Kotlin】Kotlin 面向对象 ( 类 | 成员变量 | 成员方法 | 封装 | 继承 | 多态 )
  3. 【C++ 语言】 C 与 C++ 兼容 ( extern C )
  4. 【Android 应用开发】BluetoothDevice详解
  5. Word编写代码时输出半角引号
  6. [Xcode 实际操作]二、视图与手势-(12)UITapGestureRecognizer手势之双击
  7. OpenStack配置虚拟机vcpu绑定步骤 转至元数据结尾
  8. sourceTree 的使用教程
  9. 关于动态门户WEB博雅互动的源代码(HTML+CSS+javascript)
  10. 图解Java内存区域及内存溢出异常