Android监听ScrollView滑动到顶端和底部
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滑动到顶端和底部相关推荐
- Android中监听ScrollView滑动停止和滑动到底部
1.监听ScrollView滑动停止: [java] view plaincopy /********************监听ScrollView滑动停止********************* ...
- Android 监听ScrollView的滑动
有时候我们需要监听ScroView的滑动情况,比如滑动了多少距离,是否滑到布局的顶部或者底部.可惜的是SDK并没有相应的方法,不过倒是提供了一个 protected void onScrollChan ...
- android 监听webView滑动距离和标题栏颜色渐变
重写webView之 X5WebView import android.annotation.SuppressLint; import android.content.Context; import ...
- android scrollview 滚动到底部判断,怎么判断android中ScrollView滑动到了最底部?
滚动到顶部判断: getScrollY() == 0 滚动到底部判断: View childView = getChildAt(0); childView.getMeasuredHeight() &l ...
- 仿网易云音乐日推界面(监听AppBarLayout滑动+动态高斯模糊)
首先来看下日推界面的效果: 网易云音乐日推界面的亮点就是在上拉的时候,banner页面逐渐模糊.字体透明度下降,最后左上角显示出"每日推荐"的字体. 这个界面用户会觉得很清晰.便捷 ...
- Android 监听 WiFi 开关状态
Android 监听 WiFi 开关状态 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/70854309 本文出自[赵彦军的博客] ...
- android 监听手机电量变化
今天,简单讲讲如何监听手机电量的变化. 监听电量是不能静态注册的. 后来上网搜索,发现有五个不能静态注册的广播,这里记录一下,免得下次再后知后觉的发现并惊讶于自己的笨拙. 不能静态注册的广播: and ...
- android 监听手机开机
今天,简单讲讲 android 监听手机开机. 需求描述:有些时候,我们需要我们的程序在开机后能自动运行,在系统即将关闭时,能写入一些记录到指定的文件里. 一.开机广播监听: Android系统 ...
- android 监听屏幕是否锁屏
今天,简单讲讲如何监听手机屏幕是否锁屏. 实现方法:1)通过BroadcastReceiver接收广播Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF可 ...
最新文章
- python和c++的相互调用教程
- 【错误记录】Kotlin 编译报错 ( Not nullable value required to call an ‘iterator()‘ method on for-loop range )
- mysql第五章项目二_Todo List:Node+Express 搭建服务端毗邻Mysql – 第五章(第1节)
- SAP Data Intelligence Modeler里的Kafka Producer和Kafka Consumer
- 操作系统内存管理--简单、页式、段式、段页式
- 励志!26岁单臂博士生:我想在科研的道路上发更多高质量论文
- 中国股市悬着四把利剑
- 17. GD32F103C8T6入门教程-adc 使用教程2-dma+连续扫描方式采集数据++dma中断通知
- nyoj 1321信息战(九)——水淹七军(搜索bfs)
- 粉碎文件软件测试大乐,软件测试基础(面试)(27页)-原创力文档
- 汇编学习笔记(1)基础知识
- 中国车机行业竞争态势与未来发展策略分析报告2022-2028年
- 运放失调电压和开环增益,PSRR,CMRR的关系
- 计算机类综述论文范文,综述的写法(计算机类论文综述的写法)
- NOIP2014提高组 飞扬的小鸟
- 分享一下杭州医院的看病流程(我去的杭州市第三人民医院)
- DC的逻辑综合与优化
- Unity Tilemap动态生成2d地图
- mysql关联删除(删除不存在另一张表的记录)
- 钉钉企业内部机器人python开发(公网部署版本)
热门文章
- 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )
- 【Kotlin】Kotlin 面向对象 ( 类 | 成员变量 | 成员方法 | 封装 | 继承 | 多态 )
- 【C++ 语言】 C 与 C++ 兼容 ( extern C )
- 【Android 应用开发】BluetoothDevice详解
- Word编写代码时输出半角引号
- [Xcode 实际操作]二、视图与手势-(12)UITapGestureRecognizer手势之双击
- OpenStack配置虚拟机vcpu绑定步骤 转至元数据结尾
- sourceTree 的使用教程
- 关于动态门户WEB博雅互动的源代码(HTML+CSS+javascript)
- 图解Java内存区域及内存溢出异常