當我在設定中增加字體大小時,Recyclerview 專案重疊。
在第一個影像回收器視圖中,專案是正常的,但在第二個影像中,專案在設定中增加字體大小后重疊。


這是代碼
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
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:layout_margin="5dp"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="5dp"
android:padding="10dp">
<com.makeramen.roundedimageview.RoundedImageView
android:id="@ id/itemImage"
style="@style/RecyclerviewArrowcolor"
android:layout_width="40dp"
android:layout_height="40dp"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:riv_oval="true"
/>
<View
android:id="@ id/viewSupporter2"
android:layout_width="1dp"
android:layout_height="1dp"
app:layout_constraintBottom_toBottomOf="@id/itemImage"
app:layout_constraintEnd_toEndOf="@id/itemImage"
app:layout_constraintStart_toStartOf="@id/itemImage"
app:layout_constraintTop_toTopOf="@id/itemImage" />
<TextView
android:id="@ id/diseasename"
style="@style/Recyclerviewdiseasecolor"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="disease name"
android:textAppearance="?android:attr/textAppearanceMedium"
app:layout_constraintBottom_toTopOf="@id/viewSupporter2"
app:layout_constraintStart_toEndOf="@id/itemImage"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@ id/diseasenickname"
style="@style/Recyclerviewnicknamecolor"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="disease nickname"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/itemImage"
app:layout_constraintTop_toBottomOf="@id/viewSupporter2"
tools:ignore="NotSibling" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
uj5u.com熱心網友回復:
因為您itemImage僅垂直限制在頂部并且具有 40 dp 的固定高度,所以頂部 TextView 只有 20 dp 的高度可以容納(卡片頂部和“視圖支持者”之間的空間)。當它換成兩行時,它會保持在 20 dp 空間的中心并溢位以覆寫它上面/下面的東西。
您應該重新考慮如何設定這些約束,以便它們在字體大小更改方面具有靈活性,從而導致更多的文本行。例如,您可以通過像這樣將影像限制在頂部和底部來使影像在行中垂直居中,并完全擺脫“ViewSupporter”
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
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:layout_margin="5dp"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="5dp"
android:padding="10dp">
<com.makeramen.roundedimageview.RoundedImageView
android:id="@ id/itemImage"
style="@style/RecyclerviewArrowcolor"
android:layout_width="40dp"
android:layout_height="40dp"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:riv_oval="true"/>
<TextView
android:id="@ id/diseasename"
style="@style/Recyclerviewdiseasecolor"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="disease name"
android:textAppearance="?android:attr/textAppearanceMedium"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/itemImage"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@ id/diseasenickname"
style="@style/Recyclerviewnicknamecolor"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="disease nickname"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/itemImage"
app:layout_constraintTop_toBottomOf="@id/diseasename"
tools:ignore="NotSibling" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
如果您想將影像保持在兩個 TextView 之間的線上,您也可以通過調整影像頂部和底部約束來做到這一點
<com.makeramen.roundedimageview.RoundedImageView
android:id="@ id/itemImage"
style="@style/RecyclerviewArrowcolor"
android:layout_width="40dp"
android:layout_height="40dp"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/diseasename"
app:layout_constraintBottom_toTopOf="@id/diseasenickname"
app:riv_oval="true"/>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/517693.html
標籤:安卓xml
上一篇:企業資料庫選型規則
