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


Java RecyclerView.setItemViewCacheSize方法代码示例

本文整理汇总了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);
}
 
开发者ID:marckregio,项目名称:maklib,代码行数:8,代码来源:RecyclerViewSettings.java

示例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);
}
 
开发者ID:Simdea,项目名称:gmlrva,代码行数:12,代码来源:GenericUtils.java

示例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;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:69,代码来源:FlickrPhotoGrid.java

示例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;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:51,代码来源:FlickrPhotoList.java

示例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)));
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:45,代码来源:FragmentOverall.java

示例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;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:66,代码来源:FlickrPhotoGrid.java

示例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;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:51,代码来源:FlickrPhotoList.java


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