Articles of android recyclerview

如何集中RecyclerView的项目?

我有垂直的RecyclerView和一些元素。 我希望它们位于屏幕的垂直中心。 我该怎么做? 我不想在我的RecyclerView使用wrap_content并将其放在另一个视图中(使用gravity = center)

如何在滚动时扩展RecyclerView项目之间的空间

如何在滚动时扩展recyclerview项目之间的空间,如下所示。 我尝试在onBindViewHolder方法中添加自定义animation,但此解决方案无法正常工作。 看起来有些animation添加到RecyclerView.OnScrollListener.onScrolled方法中。 任何想法? 谢谢。

Android RecyclerView – 触摸时animation项目高程

我希望实现此video中显示的转换(来自Google课程): https : //youtu.be/iYN5mM0JN9M?t = 22s 用单词表示:当单击RecyclerView的一个项目时,它会“列出”列表(高程更改),然后展开到全屏视图。 有关如何实现这一目标的任何提示?

如果在nestedScrollView中,RecyclerView不会回收

我的目标是让NestedScrollView包含多个包含RecyclerViews的子CardView。 我当前的xml看起来像这样: 如果我在RecyclerViews上将nestedScrollViewEnabled设置为false,则所有内容似乎都按预期工作。 但是,recyclerviews中的行不会被回收。 调用layoutManager.findFirstVisibleItemPosition()始终返回0,并且layoutManager.findLastVisibleItemPosition()始终返回列表中的最后一个项位置。 有什么建议么?

检查nestedscrollview中的recyclelerview滚动状态

我在NestedScrollView中使用了recyclerview,我希望在滚动后将搜索栏固定到操作栏,并且必须在搜索栏下显示recyclelerview项目,我需要为我的recyclerview项目进行延迟加载(在滚动到结束后从服务器加载下一项)为此,我需要检查recyclerview滚动更改状态,当我在nestedscrollview中使用recyclelerview时,我无法做到这一点。 我尝试使用nestedscrollview滚动状态更改侦听器,它不会给我我想要的东西,也不能正常工作。 如果将嵌套滚动视图放在recyclerview中,则它不起作用。 我有懒惰加载recyclelerview但相同的布局包含其他布局,如滑块,菜单然后recyclerview。 我想滚动完整的布局,当recyclerview结束onscroll然后onload执行从Internet获取更多项目并加载recylerview。 在这里你看到我的代码: 我的布局xml代码 我的代码检查滚动状态,但它不起作用 nested_content.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() { @Override public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { if (scrollY oldScrollY) { // down ((MainActivity)getActivity()).animateNavigation(true); } if (scrollY == ( v.getChildAt(0).getMeasuredHeight() – v.getMeasuredHeight() )) { if (!is_loading) { if (current_page < all_pages) { //not work right scroll state […]

如何从漂亮的animation中删除RecyclerView中的所有项目

我必须通过在列表视图中展开和折叠animation来实现列表视图。 我有一个方法使用这样做,但它不适用于RecyclerView视图。 整个RecyclerView将在短时间内可见,并在此之后启动animation。 请参阅此链接中的GIF 。 作为替代方案,我按照这篇文章 ,添加和删除所有项目(它总是少于5项,因此没有性能问题)使用 LayoutAnimation实现如下。 如您所见,列表视图项目显示animation工作。 隐藏项目反转animation文件中的属性,如下所示,并在从RecyclerView删除所有数据后应用它 item_remove_animation_drop_down.xml layout_animation_fall_down.xml 适配器中的方法 public void runItemRemoveAnimation(final RecyclerView recyclerView) { final LayoutAnimationController controller = AnimationUtils.loadLayoutAnimation(context, R.anim.layout_animation_drop_down); recyclerView.setLayoutAnimation(controller); recyclerView.getAdapter().notifyDataSetChanged(); recyclerView.scheduleLayoutAnimation(); } 片段中的代码 private void onClickSelectPromotionContainer() { selectPromotionContainer.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (discountListExpanded) { promoListData.removeAll(promosDataFromServer); discountListAdapter.runItemRemoveAnimation(discountRecyclerView); selectPromotionImage.startAnimation(rotatePlus180); discountListExpanded = false; } else { […]

使用滚动RecyclerView时如何在ViewPager中隐藏工具栏?

我在view-pager中有一个工具栏(带有水平滑动导航的选项卡式工具栏),每个选项卡都有自己的带有recyler_view的片段。 我现在想要在我的recyler_view滚动时隐藏工具栏。 在我的片段中,我添加了on scroll-listener,并希望在其activity类中调用一个方法来隐藏工具栏。 工具栏在活动中创建。 如何从我的片段中调用此方法? 或者在我的片段本身中实现这种隐藏方法会更好。 但是,我怎么能“联系”我的工具栏,这是在活动中而不是在片段中创建的。 我find了解决方案,但没有一个讨论片段中的recylcer_view和用于选项卡式导航的view-pager。 如果你可以帮助我会很棒……

如何在使用列表/网格/回收站视图时为活动转换设置animation?

我正在尝试实现一些新的Material Design活动animation,但是我阅读的教程仅显示了animation视图属于活动的示例。 在我的应用程序中,我使用的是RecyclerView ,因此ImageView不是活动的一部分: MainActivity -> Where I call startActivity() ↳ MainFragment ↳ RecyclerView ↳ RecyclerViewAdapter ↳ ViewHolder ↳ ImageView -> The hero imageView I’d like to animate 从我读到的,我应该开始这样的新活动: ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, (View) mImageView, “hero_image”); Intent intent = new Intent(this, SecondActivity.class); startActivityForResult(intent, options.toBundle()); 问题是: mImageView不属于MainActivity 。 我该如何通过呢?

如何根据设备屏幕尺寸使用RecyclerView?

我有一个后端API端点,它在某些集合中返回JSON 。 每组包含10 lines of Json 。 例如: curl http://www.something.com?getData=0将给出first 10 elements和curl http://www.something.com?getData=1将返回下一组等等。 我使用RecyclerView和StaggeredGridView从给定的endpoints加载数据。 现在我只取第一套,它的工作非常好。 我在找什么? 如何根据Android屏幕尺寸在RecyclerView加载数据。 例如: 假设设备hdpi能够在RecyclerView加载25 RecyclerView 。 所以,这里的endpoints按顺序请求: http://www.something.com?getData=0 // will fetch 0-10 http://www.something.com?getData=10 // will fetch 11-20 http://www.something.com?getData=10&skip=5 // will fetch 21-25 如何动态制作上述流程。 这样它适用于所有屏幕尺寸? 顺便说一句,这是我将数据加载到StaggeredGridView适配器的方式: mRecyclerView = (RecyclerView) mActivity.findViewById(R.id.staggering_grid); mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); mAdapter = new StaggeredGridAdapter(mContext); mAdapter.addItems(response); mRecyclerView.setAdapter(mAdapter); 可能解决方案 如果我知道我需要根据设备填充多少Grid […]

在recycleview上的wrap_content,取项目的高度(水平列表)

我有一个RecycleView,设置为水平。 现在我希望高度与视图中项目的高度相匹配。 我事先并不知道高度。 目前我有这个: 主要片段: 图片 但它总是占用整个屏幕。 所以我之间有很多空白。 有没有办法可以在recycleview项目上使用wrap_content? 这就是它目前的样子: 我目前放置了2个横幅,顶部有大空白,小图像是带有recyclerview的横幅。 下面的图片只是放在图像视图中的图像(它看起来应该是什么样子,但我希望它带有recyclerview,所以如果我有多个,我可以滚动横幅)