当前位置: 首页>>代码示例>>Java>>正文


Java AbsListView.getLastVisiblePosition方法代码示例

本文整理汇总了Java中android.widget.AbsListView.getLastVisiblePosition方法的典型用法代码示例。如果您正苦于以下问题:Java AbsListView.getLastVisiblePosition方法的具体用法?Java AbsListView.getLastVisiblePosition怎么用?Java AbsListView.getLastVisiblePosition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.widget.AbsListView的用法示例。


在下文中一共展示了AbsListView.getLastVisiblePosition方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: isAbsListViewToBottom

import android.widget.AbsListView; //导入方法依赖的package包/类
public static boolean isAbsListViewToBottom(AbsListView absListView) {
    if (absListView != null && absListView.getAdapter() != null && absListView.getChildCount() > 0 && absListView.getLastVisiblePosition() == absListView.getAdapter().getCount() - 1) {
        View lastChild = absListView.getChildAt(absListView.getChildCount() - 1);

        BGAStickyNavLayout stickyNavLayout = getStickyNavLayout(absListView);
        if (stickyNavLayout != null) {
            // 处理BGAStickyNavLayout中lastChild.getBottom() <= absListView.getMeasuredHeight()失效问题

            // 0表示x,1表示y
            int[] location = new int[2];
            lastChild.getLocationOnScreen(location);
            int lastChildBottomOnScreen = location[1] + lastChild.getMeasuredHeight();
            stickyNavLayout.getLocationOnScreen(location);
            int stickyNavLayoutBottomOnScreen = location[1] + stickyNavLayout.getMeasuredHeight();
            return lastChildBottomOnScreen + absListView.getPaddingBottom() <= stickyNavLayoutBottomOnScreen;
        } else {
            return lastChild.getBottom() <= absListView.getMeasuredHeight();
        }
    }
    return false;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:22,代码来源:BGARefreshScrollingUtil.java

示例2: canChildScrollDown

import android.widget.AbsListView; //导入方法依赖的package包/类
public static boolean canChildScrollDown(View view) {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (view instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) view;
            return absListView.getChildCount() > 0
                    && (absListView.getLastVisiblePosition() < absListView.getChildCount() - 1
                    || absListView.getChildAt(absListView.getChildCount() - 1).getBottom() > absListView.getPaddingBottom());
        } else if (view instanceof ScrollView) {
            ScrollView scrollView = (ScrollView) view;
            if (scrollView.getChildCount() == 0) {
                return false;
            } else {
                return scrollView.getScrollY() < scrollView.getChildAt(0).getHeight() - scrollView.getHeight();
            }
        } else {
            return false;
        }
    } else {
        return view.canScrollVertically(1);
    }
}
 
开发者ID:smartbeng,项目名称:PaoMovie,代码行数:22,代码来源:PtrDefaultHandler2.java

示例3: canScrollDown

import android.widget.AbsListView; //导入方法依赖的package包/类
private static boolean canScrollDown(View mScrollableView) {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mScrollableView instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mScrollableView;
            return absListView.getChildCount() > 0
                    && (absListView.getLastVisiblePosition() < absListView.getChildCount() - 1
                    || absListView.getChildAt(absListView.getChildCount() - 1).getBottom() > absListView.getPaddingBottom());
        } else {
            return mScrollableView.getScrollY() < 0;
        }
    } else {
        return mScrollableView.canScrollVertically(1);
    }
}
 
开发者ID:Brave-wan,项目名称:SmartRefresh,代码行数:15,代码来源:RefreshContentWrapper.java

示例4: scrollToTop

import android.widget.AbsListView; //导入方法依赖的package包/类
private static boolean scrollToTop(View view) {
    if (Build.VERSION.SDK_INT < 14) {
        if (view instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) view;
            return absListView.getChildCount() > 0
                    && (absListView.getLastVisiblePosition() < absListView.getChildCount() - 1
                    || absListView.getChildAt(absListView.getChildCount() - 1).getBottom() > absListView.getPaddingBottom());
        } else {
            return ViewCompat.canScrollVertically(view, 1) || view.getScrollY() < 0;
        }
    } else {
        return ViewCompat.canScrollVertically(view, 1);
    }
}
 
开发者ID:anmingyu11,项目名称:OverScrollableRecyclerView-Method1,代码行数:15,代码来源:ScrollerUtil.java

示例5: canChildScrollDown

import android.widget.AbsListView; //导入方法依赖的package包/类
public boolean canChildScrollDown() {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            try {
                if (absListView.getCount() > 0) {
                    if (absListView.getLastVisiblePosition() + 1 == absListView.getCount()) {
                        int lastIndex = absListView.getLastVisiblePosition() - absListView.getFirstVisiblePosition();
                        return absListView.getChildAt(lastIndex).getBottom() == absListView.getPaddingBottom();
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return true;
        } else {
            return true;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, 1);
    }
}
 
开发者ID:shenhuanet,项目名称:AndroidOpen,代码行数:23,代码来源:SwipeToRefreshLayout.java

示例6: canChildScrollDown

import android.widget.AbsListView; //导入方法依赖的package包/类
public boolean canChildScrollDown() {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            View lastChild = absListView.getChildAt(absListView.getChildCount() - 1);
            if (lastChild != null) {
                return (absListView.getLastVisiblePosition() == (absListView.getCount() - 1))
                        && lastChild.getBottom() > absListView.getPaddingBottom();
            } else {
                return false;
            }
        } else {
            return mTarget.getHeight() - mTarget.getScrollY() > 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, 1);
    }
}
 
开发者ID:838030195,项目名称:DaiGo,代码行数:19,代码来源:PullRefreshLayout.java

示例7: canChildPullUp

import android.widget.AbsListView; //导入方法依赖的package包/类
public boolean canChildPullUp() {
    if (child instanceof AbsListView) {
        AbsListView absListView = (AbsListView) child;
        return canScrollVertically(child, 1)
                || absListView.getLastVisiblePosition() != mTotalItemCount - 1;
    } else if (child instanceof WebView) {
        WebView webview = (WebView) child;
        if (webview instanceof XWebView) {
            return !((XWebView) webview).isBottom();
        } else {
            float left = webview.getContentHeight() * webview.getScale();
            int right = webview.getHeight() + webview.getScrollY();
            return left != right;
        }
    } else if (child instanceof ScrollView) {
        ScrollView scrollView = (ScrollView) child;
        View childView = scrollView.getChildAt(0);
        if (childView != null) {
            return canScrollVertically(child, 1)
                    || scrollView.getScrollY() < childView.getHeight() - scrollView.getHeight();
        }
    } else {
        return canScrollVertically(child, 1);
    }
    return true;
}
 
开发者ID:LonelyMushroom,项目名称:aarLibrary,代码行数:27,代码来源:XRefreshContentView.java

示例8: canChildScrollDown

import android.widget.AbsListView; //导入方法依赖的package包/类
/**
 * Whether child view can scroll down
 * @return
 */
public boolean canChildScrollDown() {
  if (mTargetView == null) {
    return false;
  }
  if (Build.VERSION.SDK_INT < 14) {
    if (mTargetView instanceof AbsListView) {
      final AbsListView absListView = (AbsListView) mTargetView;
      if (absListView.getChildCount() > 0) {
        int lastChildBottom = absListView.getChildAt(absListView.getChildCount() - 1)
            .getBottom();
        return absListView.getLastVisiblePosition() == absListView.getAdapter().getCount() - 1
               && lastChildBottom <= absListView.getMeasuredHeight();
      } else {
        return false;
      }

    } else {
      return ViewCompat.canScrollVertically(mTargetView, 1) || mTargetView.getScrollY() > 0;
    }
  } else {
    return ViewCompat.canScrollVertically(mTargetView, 1);
  }
}
 
开发者ID:erguotou520,项目名称:weex-uikit,代码行数:28,代码来源:WXSwipeLayout.java

示例9: canChildScrollDown

import android.widget.AbsListView; //导入方法依赖的package包/类
/**
 * 是否能上拉
 *
 * @return
 */
private boolean canChildScrollDown() {
    if (checkListener != null) {
        return checkListener.canScrollDown();
    }
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (child instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) child;
            return absListView.getChildCount() > 0
                    && (absListView.getLastVisiblePosition() < absListView.getChildCount() - 1
                    || absListView.getChildAt(absListView.getChildCount() - 1).getBottom() > absListView.getHeight() - absListView.getPaddingBottom());
        }
    }
    return ViewCompat.canScrollVertically(child, 1);

}
 
开发者ID:zuoweitan,项目名称:Hitalk,代码行数:21,代码来源:OverScrollLayout.java

示例10: onScrollToTopOrBottom

import android.widget.AbsListView; //导入方法依赖的package包/类
private void onScrollToTopOrBottom(AbsListView view) {
    View childAt = view.getChildAt(0);
    if (childAt == null) {
        return;
    }
    //滑动到顶部
    if (view.getFirstVisiblePosition() == 0 &&
            childAt.getTop() >= 0) {
    //It is scrolled all the way up here
        if (mScrollChangeListener != null) {
            mScrollChangeListener.onScrollToTop();
        }
    }

    //滑动到底部
    if (view.getLastVisiblePosition() == view.getAdapter().getCount() - 1 &&
            view.getChildAt(
                    view.getChildCount() - 1).getBottom() <= view.getHeight()) {
        if (mScrollChangeListener != null) {
            mScrollChangeListener.onScrollToBottom();
        }
    }
}
 
开发者ID:hetianpeng,项目名称:shareApk,代码行数:24,代码来源:CalculatorOnScrollListener.java

示例11: canChildScrollDown

import android.widget.AbsListView; //导入方法依赖的package包/类
/**
 * 判断View是否可以下拉
 * @return canChildScrollDown
 */
public boolean canChildScrollDown() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        if (mTargetView instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTargetView;
            return absListView.getChildCount() > 0 && absListView.getAdapter() != null
                    && (absListView.getLastVisiblePosition() < absListView.getAdapter().getCount() - 1 || absListView.getChildAt(absListView.getChildCount() - 1)
                    .getBottom() < absListView.getPaddingBottom());
        } else {
            return ViewCompat.canScrollVertically(mTargetView, 1) || mTargetView.getScrollY() > 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mTargetView, 1);
    }
}
 
开发者ID:joelan,项目名称:ClouldReader,代码行数:19,代码来源:SlidingLayout.java

示例12: onScrollStateChanged

import android.widget.AbsListView; //导入方法依赖的package包/类
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
    if (mAdapter == null || mAdapter.getCount() == 0) {
        return;
    }
    // 数据已经全部加载,或数据为空时,或正在加载,不处理滚动事件
    if (mState == STATE_LOADMORE || mState == STATE_REFRESH) {
        return;
    }
    // 判断是否滚动到底部
    boolean scrollEnd = false;
    try {
        if (view.getPositionForView(mAdapter.getFooterView()) == view
                .getLastVisiblePosition())
            scrollEnd = true;
    } catch (Exception e) {
        scrollEnd = false;
    }

    if (mState == STATE_NONE && scrollEnd) {
        if (mAdapter.getState() == ListBaseAdapter.STATE_LOAD_MORE
                || mAdapter.getState() == ListBaseAdapter.STATE_NETWORK_ERROR) {
            mCurrentPage++;
            mState = STATE_LOADMORE;
            requestData(false);
            mAdapter.setFooterViewLoading();
        }
    }
}
 
开发者ID:hsj-xiaokang,项目名称:OSchina_resources_android,代码行数:30,代码来源:BaseListFragment.java

示例13: canChildScrollDown

import android.widget.AbsListView; //导入方法依赖的package包/类
/**
 * Whether it is possible for the child view of this layout to scroll down. Override this if the child view is a custom view.
 * 判断是否可以上拉
 */
public static boolean canChildScrollDown(View mChildView) {
    if (Build.VERSION.SDK_INT < 14) {
        if (mChildView instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mChildView;
            return absListView.getChildCount() > 0
                    && (absListView.getLastVisiblePosition() < absListView.getChildCount() - 1
                    || absListView.getChildAt(absListView.getChildCount() - 1).getBottom() > absListView.getPaddingBottom());
        } else {
            return ViewCompat.canScrollVertically(mChildView, 1) || mChildView.getScrollY() < 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mChildView, 1);
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:19,代码来源:ScrollingUtil.java

示例14: isAbsListViewToBottom

import android.widget.AbsListView; //导入方法依赖的package包/类
public static boolean isAbsListViewToBottom(AbsListView absListView) {
    if (absListView != null && absListView.getAdapter() != null && absListView.getChildCount() > 0 && absListView.getLastVisiblePosition() == absListView.getAdapter().getCount() - 1) {
        View lastChild = absListView.getChildAt(absListView.getChildCount() - 1);

        return lastChild.getBottom() <= absListView.getMeasuredHeight();
    }
    return false;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:9,代码来源:ScrollingUtil.java

示例15: canScrollDown

import android.widget.AbsListView; //导入方法依赖的package包/类
public static boolean canScrollDown(View targetView) {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (targetView instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) targetView;
            return absListView.getChildCount() > 0
                    && (absListView.getLastVisiblePosition() < absListView.getChildCount() - 1
                    || absListView.getChildAt(absListView.getChildCount() - 1).getBottom() > absListView.getPaddingBottom());
        } else {
            return targetView.getScrollY() < 0;
        }
    } else {
        return targetView.canScrollVertically(1);
    }
}
 
开发者ID:scwang90,项目名称:SmartRefreshLayout,代码行数:15,代码来源:ScrollBoundaryUtil.java


注:本文中的android.widget.AbsListView.getLastVisiblePosition方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。