RecyclerView clipToPadding = false
Posted
技术标签:
【中文标题】RecyclerView clipToPadding = false【英文标题】: 【发布时间】:2014-09-14 20:33:02 【问题描述】:android material design 文档建议在列表的顶部和底部添加一个 8 dp 的填充,我个人喜欢这个想法并希望实现它。我正在使用新的RecyclerView
小部件来完成简单列表的外观。我遇到的问题是当我设置属性时:我的 RecyclerView 的 paddingTop
和 paddingBottom
,出现在列表顶部和底部的过度滚动阴影现在也有一个填充(看起来有点糟糕,像一个错误)。我一直在阅读设置这些属性:
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(BaseRecyclerViewAdapterHelper实现)