本文整理汇总了Java中android.support.v7.widget.LinearLayoutManager.getChildCount方法的典型用法代码示例。如果您正苦于以下问题:Java LinearLayoutManager.getChildCount方法的具体用法?Java LinearLayoutManager.getChildCount怎么用?Java LinearLayoutManager.getChildCount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.support.v7.widget.LinearLayoutManager
的用法示例。
在下文中一共展示了LinearLayoutManager.getChildCount方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onDraw
import android.support.v7.widget.LinearLayoutManager; //导入方法依赖的package包/类
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
final RecyclerView.LayoutManager manager = parent.getLayoutManager();
if (manager instanceof StaggeredGridLayoutManager) {
return;
}
//线性布局
final LinearLayoutManager layoutManager = (LinearLayoutManager) manager;
final int firstItem = layoutManager.findFirstVisibleItemPosition();
for (int i = 0; i < layoutManager.getChildCount(); i++) {
final int viewAdapterPosition = firstItem + i;
final View view = layoutManager.findViewByPosition(viewAdapterPosition);
if (view != null) {
mItemDecorationCallback.draw(c, mTextPaint, view,
mItemDecorationCallback.getItemOffsets(layoutManager, viewAdapterPosition),
layoutManager.getItemCount(), viewAdapterPosition);
}
}
}
示例2: processLoadMoreData
import android.support.v7.widget.LinearLayoutManager; //导入方法依赖的package包/类
private void processLoadMoreData() {
LinearLayoutManager linearLayoutManager = (LinearLayoutManager) display.getLayoutManager();
int firstVisibleItemPosition = linearLayoutManager.findFirstVisibleItemPosition();
int totalCount = linearLayoutManager.getItemCount();
int visibleCount = linearLayoutManager.getChildCount();
// 这里分两种情况,当缓慢滑动的时候,边滑动边加载,没有接触到底部。当如果快速滑动的时候,还没加载完就滑动到底部
if ((firstVisibleItemPosition + visibleCount >= totalCount) && !isLoading && totalCount != 1) {
LogUtil.e("底部加载拉");
if (mOnMoreDataLoadListener != null) {
isLoading = true;
moreLoadView.setVisibility(VISIBLE);
mOnMoreDataLoadListener.onMoreDataLoad(totalCount, firstVisibleItemPosition);
}
}
}
示例3: needToRequestNextPage
import android.support.v7.widget.LinearLayoutManager; //导入方法依赖的package包/类
private boolean needToRequestNextPage() {
LinearLayoutManager layoutManager = (LinearLayoutManager) getLayoutManager();
int visibleItemCount = layoutManager.getChildCount();
int totalItemCount = getAdapter().getItemCount();
int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
return firstVisibleItemPosition > 0 && firstVisibleItemPosition + visibleItemCount > totalItemCount - 5;
}
示例4: isAtLastElementOfLinearLayoutManager
import android.support.v7.widget.LinearLayoutManager; //导入方法依赖的package包/类
private boolean isAtLastElementOfLinearLayoutManager(LinearLayoutManager linearLayoutManager) {
visibleItemCount = linearLayoutManager.getChildCount();
totalItemCount = linearLayoutManager.getItemCount();
pastVisibleItems = linearLayoutManager.findFirstVisibleItemPosition();
return (visibleItemCount + pastVisibleItems) >= totalItemCount - VISIBILITY_THRESHOLD;
}
示例5: onDraw
import android.support.v7.widget.LinearLayoutManager; //导入方法依赖的package包/类
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
super.onDraw(c, parent, state);
final RecyclerView.LayoutManager manager = parent.getLayoutManager();
int itemCount = manager.getItemCount();
if (itemCount < 1) {
//如果只有1个item, 直接返回;
return;
}
if (manager instanceof GridLayoutManager) {
//网格布局
drawGrid(c, manager);
} else if (manager instanceof StaggeredGridLayoutManager) {
//暂不支持...
} else {
//线性布局
final LinearLayoutManager layoutManager = (LinearLayoutManager) manager;
final int firstItem = layoutManager.findFirstVisibleItemPosition();
for (int i = 0; i < layoutManager.getChildCount(); i++) {
int adapterPosition = firstItem + i;
final View view = layoutManager.findViewByPosition(adapterPosition);
if (itemCount == 1 || adapterPosition == itemCount - 1) {
//第一个, 或者最后一个
if (!drawLastHLine && !drawLastVLine) {
continue;
}
}
if (view != null) {
if (layoutManager.getOrientation() == LinearLayoutManager.HORIZONTAL) {
//水平
drawDrawableV(c, view);
} else {
//垂直
drawDrawableH(c, view);
}
}
}
}
}