首页 > 其他 > 详细

ListView已到底部和顶部的判断

时间:2015-06-19 18:43:59      阅读:220      评论:0      收藏:0      [点我收藏+]
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
结束

ListView已到底部和顶部的判断

原文:http://blog.csdn.net/hudashi/article/details/46563811

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!