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);
    }
    }
  • 相关阅读:
    3164 质因数分解
    codevs3249搭积木
    codevs 2964公共素数因数
    爱改名的小融1
    单链表基础练习
    并查集(union-find sets)
    string类中字符的大小写转换
    蒜头君学英语--set()练习
    打印锯齿矩阵
    堆积木
  • 原文地址:https://www.cnblogs.com/androidsj/p/6092838.html
Copyright © 2011-2022 走看看