本文整理汇总了Java中android.support.v7.widget.RecyclerView.setItemViewCacheSize方法的典型用法代码示例。如果您正苦于以下问题:Java RecyclerView.setItemViewCacheSize方法的具体用法?Java RecyclerView.setItemViewCacheSize怎么用?Java RecyclerView.setItemViewCacheSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.support.v7.widget.RecyclerView
的用法示例。
在下文中一共展示了RecyclerView.setItemViewCacheSize方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: applySettings
import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public static void applySettings(RecyclerView recyclerView){
recyclerView.setHasFixedSize(true);
recyclerView.setItemViewCacheSize(5);
recyclerView.setDrawingCacheEnabled(true);
gridLayoutManager = new GridLayoutManager(recyclerView.getContext(), 2);
recyclerView.setLayoutManager(gridLayoutManager);
}
示例2: setOptimalConfigurationForRecyclerView
import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
* Procedure meant to apply the optimal configuration on a target {@link RecyclerView} instance.
* @param recyclerView a target {@link RecyclerView} instance.
*/
public static void setOptimalConfigurationForRecyclerView(@NonNull final RecyclerView recyclerView) {
recyclerView.setItemViewCacheSize(30);
recyclerView.setDrawingCacheEnabled(true);
recyclerView.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
recyclerView.setHasFixedSize(true);
recyclerView.setNestedScrollingEnabled(true);
}
示例3: onCreateView
import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Bundle args = getArguments();
photoSize = args.getInt(IMAGE_SIZE_KEY);
thumbnail = args.getBoolean(THUMBNAIL_KEY);
fullRequest = GlideApp.with(this)
.asDrawable()
.centerCrop()
.transition(withNoTransition());
thumbnailRequest = GlideApp.with(this)
.asDrawable()
.diskCacheStrategy(DiskCacheStrategy.DATA)
.centerCrop()
.override(Api.SQUARE_THUMB_SIZE)
.transition(withNoTransition());
preloadRequest =
thumbnail ? thumbnailRequest.clone().priority(Priority.HIGH) : fullRequest;
final View result = inflater.inflate(R.layout.flickr_photo_grid, container, false);
final int gridMargin = getResources().getDimensionPixelOffset(R.dimen.grid_margin);
int spanCount = getResources().getDisplayMetrics().widthPixels / (photoSize + (2 * gridMargin));
grid = (RecyclerView) result.findViewById(R.id.flickr_photo_grid);
layoutManager = new GridLayoutManager(getActivity(), spanCount);
grid.setLayoutManager(layoutManager);
grid.addItemDecoration(new RecyclerView.ItemDecoration() {
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
RecyclerView.State state) {
outRect.set(gridMargin, gridMargin, gridMargin, gridMargin);
}
});
grid.setRecyclerListener(new RecyclerView.RecyclerListener() {
@Override
public void onViewRecycled(RecyclerView.ViewHolder holder) {
PhotoViewHolder photoViewHolder = (PhotoViewHolder) holder;
GlideApp.with(FlickrPhotoGrid.this).clear(photoViewHolder.imageView);
}
});
int heightCount = getResources().getDisplayMetrics().heightPixels / photoSize;
grid.getRecycledViewPool().setMaxRecycledViews(0, spanCount * heightCount * 2);
grid.setItemViewCacheSize(0);
adapter = new PhotoAdapter();
grid.setAdapter(adapter);
FixedPreloadSizeProvider<Photo> preloadSizeProvider =
new FixedPreloadSizeProvider<>(photoSize, photoSize);
RecyclerViewPreloader<Photo> preloader = new RecyclerViewPreloader<>(Glide.with(this), adapter,
preloadSizeProvider, args.getInt(PRELOAD_KEY));
grid.addOnScrollListener(preloader);
if (currentPhotos != null) {
adapter.setPhotos(currentPhotos);
}
if (savedInstanceState != null) {
int index = savedInstanceState.getInt(STATE_POSITION_INDEX);
grid.scrollToPosition(index);
}
return result;
}
示例4: onCreateView
import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View result = inflater.inflate(R.layout.flickr_photo_list, container, false);
list = (RecyclerView) result.findViewById(R.id.flickr_photo_list);
layoutManager = new LinearLayoutManager(getActivity());
list.setLayoutManager(layoutManager);
adapter = new FlickrPhotoListAdapter();
list.setAdapter(adapter);
preloadSizeProvider = new ViewPreloadSizeProvider<>();
RecyclerViewPreloader<Photo> preloader =
new RecyclerViewPreloader<>(
GlideApp.with(this), adapter, preloadSizeProvider, PRELOAD_AHEAD_ITEMS);
list.addOnScrollListener(preloader);
list.setItemViewCacheSize(0);
if (currentPhotos != null) {
adapter.setPhotos(currentPhotos);
}
final GlideRequests glideRequests = GlideApp.with(this);
fullRequest = glideRequests
.asDrawable()
.centerCrop()
.placeholder(new ColorDrawable(Color.GRAY));
thumbRequest = glideRequests
.asDrawable()
.diskCacheStrategy(DiskCacheStrategy.DATA)
.override(Api.SQUARE_THUMB_SIZE)
.transition(withCrossFade());
list.setRecyclerListener(new RecyclerView.RecyclerListener() {
@Override
public void onViewRecycled(RecyclerView.ViewHolder holder) {
PhotoTitleViewHolder vh = (PhotoTitleViewHolder) holder;
glideRequests.clear(vh.imageView);
}
});
if (savedInstanceState != null) {
int index = savedInstanceState.getInt(STATE_POSITION_INDEX);
int offset = savedInstanceState.getInt(STATE_POSITION_OFFSET);
layoutManager.scrollToPositionWithOffset(index, offset);
}
return result;
}
示例5: initializeRecyclerView
import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@SuppressWarnings({"ConstantConditions", "NullableProblems"})
private void initializeRecyclerView(Bundle savedInstanceState) {
// Initialize Adapter and RecyclerView
// OverallAdapter makes use of stableIds, I strongly suggest to implement 'item.hashCode()'
// In this example the Adapter make uses of METHOD B and extends FlexibleAdapter: items
// don't implement the AutoMap and don't implement create and binding methods: The Adapter
// remains responsible to handling all view types.
mAdapter = new OverallAdapter(getActivity());
// Experimenting NEW features (v5.0.0)
mAdapter.setOnlyEntryAnimation(true)
.setAnimationInterpolator(new DecelerateInterpolator())
.setAnimationInitialDelay(500L)
.setAnimationDelay(70L);
// Prepare the RecyclerView and attach the Adapter to it
mRecyclerView = (RecyclerView) getView().findViewById(R.id.recycler_view);
mRecyclerView.setItemViewCacheSize(0); //Setting ViewCache to 0 (default=2) will animate items better while scrolling down+up with LinearLayout
mRecyclerView.setLayoutManager(createNewStaggeredGridLayoutManager());
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.setHasFixedSize(true); //Size of RV will not change
// After Adapter is attached to RecyclerView
mAdapter.setLongPressDragEnabled(true);
mRecyclerView.postDelayed(new Runnable() {
@Override
public void run() {
if (getView() != null) { //Fix NPE when closing app before the execution of Runnable
Snackbar.make(getView(), "Long press drag is enabled", Snackbar.LENGTH_SHORT).show();
}
}
}, 4000L);
SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) getView().findViewById(R.id.swipeRefreshLayout);
swipeRefreshLayout.setEnabled(true);
mListener.onFragmentChange(swipeRefreshLayout, mRecyclerView, SelectableAdapter.MODE_IDLE);
// Add 2 Scrollable Headers
mAdapter.showLayoutInfo(savedInstanceState == null);
mAdapter.addScrollableHeader(new ScrollableUseCaseItem(
getString(R.string.overall_use_case_title),
getString(R.string.overall_use_case_description)));
}
示例6: onCreateView
import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public View onCreateView(
@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle args = Preconditions.checkNotNull(getArguments());
photoSize = args.getInt(IMAGE_SIZE_KEY);
thumbnail = args.getBoolean(THUMBNAIL_KEY);
fullRequest = GlideApp.with(this)
.asDrawable()
.centerCrop();
thumbnailRequest = GlideApp.with(this)
.asDrawable()
.centerCrop()
.override(Api.SQUARE_THUMB_SIZE);
preloadRequest =
thumbnail ? thumbnailRequest.clone().priority(Priority.HIGH) : fullRequest;
final View result = inflater.inflate(R.layout.flickr_photo_grid, container, false);
final int gridMargin = getResources().getDimensionPixelOffset(R.dimen.grid_margin);
int spanCount = getResources().getDisplayMetrics().widthPixels / (photoSize + (2 * gridMargin));
grid = (RecyclerView) result.findViewById(R.id.flickr_photo_grid);
layoutManager = new GridLayoutManager(getActivity(), spanCount);
grid.setLayoutManager(layoutManager);
grid.addItemDecoration(new RecyclerView.ItemDecoration() {
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
RecyclerView.State state) {
outRect.set(gridMargin, gridMargin, gridMargin, gridMargin);
}
});
grid.setRecyclerListener(new RecyclerView.RecyclerListener() {
@Override
public void onViewRecycled(RecyclerView.ViewHolder holder) {
PhotoViewHolder photoViewHolder = (PhotoViewHolder) holder;
GlideApp.with(FlickrPhotoGrid.this).clear(photoViewHolder.imageView);
}
});
int heightCount = getResources().getDisplayMetrics().heightPixels / photoSize;
grid.getRecycledViewPool().setMaxRecycledViews(0, spanCount * heightCount * 2);
grid.setItemViewCacheSize(0);
adapter = new PhotoAdapter();
grid.setAdapter(adapter);
FixedPreloadSizeProvider<Photo> preloadSizeProvider =
new FixedPreloadSizeProvider<>(photoSize, photoSize);
RecyclerViewPreloader<Photo> preloader = new RecyclerViewPreloader<>(Glide.with(this), adapter,
preloadSizeProvider, args.getInt(PRELOAD_KEY));
grid.addOnScrollListener(preloader);
if (currentPhotos != null) {
adapter.setPhotos(currentPhotos);
}
if (savedInstanceState != null) {
int index = savedInstanceState.getInt(STATE_POSITION_INDEX);
grid.scrollToPosition(index);
}
return result;
}
示例7: onCreateView
import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public View onCreateView(
@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View result = inflater.inflate(R.layout.flickr_photo_list, container, false);
list = (RecyclerView) result.findViewById(R.id.flickr_photo_list);
layoutManager = new LinearLayoutManager(getActivity());
list.setLayoutManager(layoutManager);
adapter = new FlickrPhotoListAdapter();
list.setAdapter(adapter);
preloadSizeProvider = new ViewPreloadSizeProvider<>();
RecyclerViewPreloader<Photo> preloader =
new RecyclerViewPreloader<>(
GlideApp.with(this), adapter, preloadSizeProvider, PRELOAD_AHEAD_ITEMS);
list.addOnScrollListener(preloader);
list.setItemViewCacheSize(0);
if (currentPhotos != null) {
adapter.setPhotos(currentPhotos);
}
final GlideRequests glideRequests = GlideApp.with(this);
fullRequest = glideRequests
.asDrawable()
.centerCrop()
.placeholder(new ColorDrawable(Color.GRAY));
thumbRequest = glideRequests
.asDrawable()
.diskCacheStrategy(DiskCacheStrategy.DATA)
.override(Api.SQUARE_THUMB_SIZE)
.transition(withCrossFade());
list.setRecyclerListener(new RecyclerView.RecyclerListener() {
@Override
public void onViewRecycled(RecyclerView.ViewHolder holder) {
PhotoTitleViewHolder vh = (PhotoTitleViewHolder) holder;
glideRequests.clear(vh.imageView);
}
});
if (savedInstanceState != null) {
int index = savedInstanceState.getInt(STATE_POSITION_INDEX);
int offset = savedInstanceState.getInt(STATE_POSITION_OFFSET);
layoutManager.scrollToPositionWithOffset(index, offset);
}
return result;
}