【发布时间】:2021-06-28 22:09:48
【问题描述】:
我有一个 RecyclerView,我通过适配器填充项目(来自另一个布局的 ImageView + TextView)。问题是两个项目之间的距离会根据文本而变化。我希望所有项目之间的空间始终相同。我怎样才能做到这一点?
这是反映问题的图片:
这里是包含我的 recyclerView 的 xml:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/categoryRecycler"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/title_category" />
这里是一个项目的xml:
<androidx.constraintlayout.widget.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="wrap_content"
android:layout_marginStart="6dp"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/categoryImage"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_marginTop="5dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_appliance" />
<TextView
android:id="@+id/categoryName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_marginEnd="3dp"
android:gravity="center"
android:maxWidth="100dp"
android:text="name category"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/categoryImage" />
</androidx.constraintlayout.widget.ConstraintLayout>
提前致谢。
【问题讨论】:
-
只要您添加了 100dp 作为最大宽度,为什么不将文本的宽度设置为 100dp 而不是 wrap_content 或者您可以将固定宽度设置为
ConstraintLayout -
当然,最好将宽度设置为 100dp
-
或者只是为ConsteraintLayout设置一个固定大小
标签: android xml kotlin android-recyclerview