【问题标题】:How to add a simple 8dp header/footer to Android's RecyclerView?如何向 Android 的 RecyclerView 添加一个简单的 8dp 页眉/页脚?
【发布时间】:2015-05-13 22:24:36
【问题描述】:

有没有办法向 RecyclerView 添加简单的页眉/页脚?

在这里你可以看到我有什么。第一张卡片触及工具栏

在这里你可以看到我想要什么。底部和卡片之间的 8dp 填充。

到目前为止我尝试过的方法:

  • 在我的回收站视图中使用标题视图。但是我认为对每个recyclerview都这样做是非常低效的。

  • 使用 8dp 上边距会导致 recyclerview 在滚动时在顶部/底部出现白条。

  • 向列表项添加填充,这会导致外卡和内卡之间的边距不同。

  • 我确信有一个我目前还不知道的简单解决方案。

    【问题讨论】:

      标签: android margin padding android-recyclerview


      【解决方案1】:

      添加顶部填充并将 clipToPadding 设置为 false 即可解决问题。
      像这样的:

        <android.support.v7.widget.RecyclerView
          android:id="@+id/recyclerview"
          android:paddingTop="8dp"
          android:clipToPadding="false"
          android:layout_width="match_parent"
          android:layout_height="match_parent" />
      

      【讨论】:

      • 适用于顶部,但由于某种原因不适用于底部。
      • 您使用的是哪个版本的支持库?设置 paddingBottom 对我来说很好。
      • 在 api 23 上对我不起作用。我正在尝试 android:paddingBottom="8dp" android:clipToPadding="false"
      • 不过,此解决方案会剪切滚动条。有什么解决办法吗?
      • 编辑:为了防止这个添加android:scrollbarStyle="outsideOverlay"
      【解决方案2】:

      如果您使用带有layout_weight 的RecyclerView,并且paddingBottom 不适合您,请确保将layout_height 设置为0dp!否则,奇怪的是,paddingTop 有效,但 paddingBottom 无效:

      <android.support.v7.widget.RecyclerView android:id="@+id/recycler"
          android:paddingBottom="20dp"
          android:clipToPadding="false"
          android:layout_weight="1"
          android:layout_width="match_parent"
          android:layout_height="0dp" /> 
      

      【讨论】:

      • 将高度设置为 0dp 会使视图消失。我在这里错过了什么吗?
      • 只需删除 weight="1" 并将 layout_height 设置为 match_parent
      猜你喜欢
      • 2014-12-14
      • 2018-08-16
      • 2010-09-08
      • 1970-01-01
      • 2014-08-17
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多