监听ScrollView滑动到顶端和底部
2014-06-12 09:47
204 查看
MainActivity如下:
main.xml如下:
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; } }; }
main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <ScrollView android:id="@+id/scrollView" android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello_world"/> </ScrollView> </RelativeLayout>
相关文章推荐
- Android监听ScrollView滑动到顶端和底部
- Android监听ScrollView滑动到顶端和底部
- Android监听ScrollView滑动到顶端和底部
- 监听ScrollView滑动到顶端和底部
- ScrollView监听是否滑动到底部
- Android: ScrollView监听滑动到顶端和底端
- 监听滑动到底部的ScrollView
- Android - ScrollView 监听滑动停止,顶部还是底部?
- Android控件:ScrollView的使用,滑动到底部的监听
- Android中监听ScrollView滑动停止和滑动到底部
- ListView、ScrollView、GridView滑动到顶端或底部的阴影效果去掉
- [置顶] Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
- ScrollView滑动到底部的监听
- Android 监听 ScrollView 滑动到最底部
- Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
- Android 监听 ScrollView 滑动到最底部,实现阅读协议,滑动到最低端显示已阅读按钮(2017版本)
- Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
- Android 自定义ScrollView嵌套滚动兼容,监听滑动状态:顶部、底部、停止、滑动中
- Android监听ScrollView或NestedScrollView滑动到顶部和底部
- Android ScrollView监听滑动到顶部和底部的两种方式