RecyclerView clipToPadding = false

Posted

技术标签:

【中文标题】RecyclerView clipToPadding = false【英文标题】: 【发布时间】:2014-09-14 20:33:02 【问题描述】:

android material design 文档建议在列表的顶部和底部添加一个 8 dp 的填充,我个人喜欢这个想法并希望实现它。我正在使用新的RecyclerView 小部件来完成简单列表的外观。我遇到的问题是当我设置属性时:我的 RecyclerView 的 paddingToppaddingBottom,出现在列表顶部和底部的过度滚动阴影现在也有一个填充(看起来有点糟糕,像一个错误)。我一直在阅读设置这些属性:

clipToPadding = false
scrollbarStyle = outsideOverlay

应该对我有用,但它根本没有。过度滚动效果仍然从屏幕顶部和底部的 8 dp 填充开始,这真的让我很烦。我在这里做错了什么,还是我的问题有另一种解决方案?任何建议表示赞赏。谢谢

【问题讨论】:

我相信 RecyclerView.ItemDecoration 是用于实现这种行为的类。特别是它的 getItemOffsets 文档听起来可以用来在内容的两端添加填充。 【参考方案1】:

在最新版本中添加 clipToPadding 为 false

  android:clipToPadding="false"

我正在使用recylerview 版本

  compile 'com.android.support:recyclerview-v7:22.2.1' 

【讨论】:

@Libin 即使在最新的库中也无法正常工作。我已经更新了您提到的 recyclerView 版本,并将 clipTpPadding="false" 添加到 recyclerView 并查看加载它的寻呼机。但问题仍然存在。如果您已经解决了,请指导我如何解决它。 @Sandra 我你也可以帮助我,那太好了。 我只是在回收站视图上设置了 clipToPadding=false 属性,这对我有用。我不知道您是否也应该将此属性设置为视图寻呼机。也许您应该尝试不使用它。【参考方案2】:

这是一个已知的错误,将在 RecyclerView 发布时修复。

【讨论】:

好的,如果是这样的话.. 你能发送报告的错误的链接(如果报告了)。我会接受你的回答.. code.google.com/p/android-developer-preview/issues/… 这是问题的链接,但我认为它尚未修复! 它是 Android - 在 bug 生命周期的第一年,一个 bug 得到修复的可能性是四分之一。 @RichardLeMesurier 是该错误已修复还是仍然存在。我仍然得到那个错误【参考方案3】:

此方法将填充到最后一个位置视图

public class MyAdapter extends RecyclerView.Adapter<VH>

public int getItemType(int position)

if(arrayList.size()-1==position)

return ITEM_TYPE;


return 0;


public MyHolder onBindViewHolder(MyHolder holder,int position)

if(getItemViewType(position)==ITEM_TYPE)
holder.itemView.setPadding(0,0,0,10);



【讨论】:

以上是关于RecyclerView clipToPadding = false的主要内容,如果未能解决你的问题,请参考以下文章

RecyclerView详解

RecyclerView

RecyclerView嵌套RecyclerView问题

RecyclerView小结

RecyclerView系列:RecyclerView嵌套RecyclerView(BaseRecyclerViewAdapterHelper实现)

recyclerview怎么监听滑动事件