所以我正在为Android学习应用开发,而且我有点卡住了。我试图用CardViews制作RecyclerView,但CardViews之间的空间太大了。 This is what it looks like.
我想了解更多关于Google应用与Feed相关的外观。 This is more like what I'm shooting for.
无论如何,我已经在这个网站上搜索和搜索了我的问题的解决方案,似乎没有什么对我有用。我希望有人可以给我一些实际可行的东西。
这是我的cardview的xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="10dp">
<android.support.v7.widget.CardView
android:id="@+id/cv"
android:layout_width="match_parent"
android:layout_height="120dp"
app:cardCornerRadius="10dp"
app:cardElevation="5dp"
app:cardUseCompatPadding="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<TextView
android:id="@+id/note_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="false"
android:layout_below="@+id/event_time"
android:textSize="24sp" />
<TextView
android:id="@+id/note_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/note_title" />
</RelativeLayout>
</android.support.v7.widget.CardView>
答案 0 :(得分:0)
顶部和底部空格是由填充引起的 android:paddingBottom =“10dp”,删除或减少它
答案 1 :(得分:0)
减少root constraintLayout的PadingBotom 你可以放3或4 dp而不是10dp。
android:paddingBottom="10dp"
此外,我不知道您的代码副本是否不合适... constraintLayout必须在最后关闭: 在此之后:
</android.support.v7.widget.CardView>
你必须有这个:
</android.support.constraint.ConstraintLayout>
答案 2 :(得分:0)
来自CardView
的{{1}}:
在Lollipop之前,
CardView
会在其内容中添加填充并为该区域绘制阴影。 ...如果您希望CardView
在Lollipop平台上添加内部填充,之后也可以调用setUseCompatPadding(boolean)
并传递true
。
在您的布局中,您的CardView
代码中包含此属性:
app:cardUseCompatPadding="true"
这与上面引用的方法完全相同。
因此,即使您的卡片的所有边缘都没有边距,由于内部填充行为,用户仍会看到它们之间的空间。如果你想要非常紧密的间距,你必须删除这个属性(当然你仍然获得更大的间距前Lollipop)。