本文整理匯總了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);
}
}