zoukankan      html  css  js  c++  java
  • 113、ScrollView滑动到了最底部

     ScrollView使用 http://www.cnblogs.com/androidsj/archive/2012/03/04/2379387.html

     

    滚动到顶部判断:
    getScrollY() == 0
    滚动到底部判断:
    View childView = getChildAt(0);
    childView.getMeasuredHeight() <= getScrollY() + getHeight();
    其中getChildAt表示得到ScrollView的child View
    childView.getMeasuredHeight()表示得到子View的高度,
    getScrollY()表示得到y轴的滚动距离,
    getHeight()为scrollView的高度
    getScrollY()达到最大时加上scrollView的高度就的就等于它内容的高度了.
    判断滑动位置的地方,可以有两种方式:
    1、实现OnTouchListener来监听是否滑动到最底部
    OnTouchListener onTouchListener=new OnTouchListener(){
    @Override
    public boolean onTouch(View v, MotionEvent event) {
    switch (event.getAction()) {
    case MotionEvent.ACTION_UP:
    if (childView != null && childView .getMeasuredHeight()< = getScrollY() + getHeight()) {
    } else if (getScrollY() == 0) {
    }
    break;
    }
    return false;
    }
    }
    2、重写ScrollView的onScrollChanged的方法,在onScrollChanged函数中判断
    public class myScrollView extends ScrollView
    {
    public myScrollView(Context context)
    {
    super(context);
    }
    public myScrollView(Context context, AttributeSet attributeSet)
    {
    super(context,attributeSet);
    }
    @Override
    protected void onScrollChanged(int l, int t, int oldl, int oldt)
    {
    View view = (View)getChildAt(getChildCount()-1);
    int d = view.getBottom();
    d -= (getHeight()+getScrollY());
    if(d==0)
    {
    //you are at the end of the list in scrollview
    //do what you wanna do here
    }
    else
    super.onScrollChanged(l,t,oldl,oldt);
    }
    }
  • 相关阅读:
    使用C#开发ActiveX控件
    安装Python 3.6
    SDL 2.0 API by Category
    SDL的基础知识以及利用SDL播放视频
    区块链的java实现
    区块链工业架构设计
    微服务架构的优势与不足
    微服务架构设计
    FFmpeg常用基本命令
    FFmpeg进行屏幕录像和录音
  • 原文地址:https://www.cnblogs.com/androidsj/p/6092838.html
Copyright © 2011-2022 走看看