本文整理汇总了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;
}
示例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);
}
}
示例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);
}
}
示例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);
}
}
示例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);
}
}
示例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);
}
}
示例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;
}
示例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);
}
}
示例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);
}
示例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();
}
}
}
示例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);
}
}
示例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();
}
}
}
示例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);
}
}
示例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;
}
示例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);
}
}