zoukankan      html  css  js  c++  java
  • 转载 收藏 listview判断是否在底部

    ListView已到顶部的判断
     
                public boolean isListViewReachTopEdge(final ListView listView) {
                    boolean result=false;
                    if(listView.getFirstVisiblePosition()==0){
                        final View topChildView = listView.getChildAt(0);
                        result=topChildView.getTop()==0;
                    }
                    return result ;
                }
    注:view的getTop()表示的是该View的顶部到父控件的左上角的垂直距离。
    当ListView的第一个child View的getTop()为零时,就表示ListView已经滚动到顶部了或已经在顶部不能在向上滑动了。
    ListView已到底部的判断
                public boolean isListViewReachBottomEdge(final ListView listView) {
                    boolean result=false;
                    if (listView.getLastVisiblePosition() == (listView.getCount() - 1)) {
                        final View bottomChildView = listView.getChildAt(listView.getLastVisiblePosition() - listView.getFirstVisiblePosition());
                        result= (listView.getHeight()>=bottomChildView.getBottom());
                    };
                    return  result;
                }
    注:view的getBottom()表示的是该View底部到父控件的左上角的垂直距离
    当ListView的最后一个child View的getBottom()小于等于ListView的getHeight()时,就表示ListView滚动到底部或已经在底部了,不能再向下滑动了。
    关于View的getLeft, getRight, getTop, getBottom更多内容请参考《Android View的getLeft, getRight, getTop, getBottom

    结束

  • 相关阅读:
    用免费Scrum工具Leangoo思维导图 实现影响地图
    mysql-线程模型
    mongodb-锁
    mongodb-mmapv1存储引擎解析(转)
    netty-read
    netty-bind
    netty-eventloop
    java基础-Executor
    ehcache3-源码简析三
    ehcache3-源码简析二
  • 原文地址:https://www.cnblogs.com/childyngy/p/5489808.html
Copyright © 2011-2022 走看看