问题:在RecyclerView的item内使用ConstraintLayout布局由于字体过长超出屏幕了。

让TextView的横向权重(layout_constraintHorizontal_weight)为1,并且相对于左边控件和最右边的边对齐。
app:layout_constraintHorizontal_weight="1"
layout_constraintRight_toRightOf="parent"
app:layout_constraintEnd_toEndOf="parent"
经查询官方文档发现被ConstraintLayout 包裹的控件不支持 match_parent 的取值,但实际在AS中使用的时候,并没有match_constraint ,所以实际使用时 使用0dp 表示 match_constraint 即可。原文Widgets dimension constraints描述如下:Important: MATCH_PARENT is not supported for widgets contained in a ConstraintLayout, though similar behavior can be defined by using MATCH_CONSTRAINT with the corresponding left/right or top/bottom constraints being set to "parent".
<?xml version="1.0" encoding="utf-8"?>
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_marginRight="16px"
android:layout_height="84px">
android:id="@+id/iv_icon"
android:layout_width="64px"
android:layout_height="64px"
android:layout_marginStart="16px"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="parent"
app:srcCompat="@mipmap/icon" />
android:id="@+id/tv_study_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="10px"
android:layout_marginTop="16px"
android:text="TextView"
android:textColor="@color/color333333"
android:textSize="@dimen/textSize_16"
android:maxLines="1"
android:ellipsize="end"
app:layout_constrainedWidth="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toEndOf="@+id/iv_icon"
app:layout_constraintTop_toTopOf="parent" />
android:id="@+id/iv_address_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10px"
android:layout_marginTop="12px"
app:layout_constraintStart_toEndOf="@+id/iv_icon"
app:layout_constraintTop_toBottomOf="@+id/tv_study_name"
app:srcCompat="@drawable/icon_address_grey" />
android:id="@+id/tv_address_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="10px"
android:layout_marginStart="4px"
android:text="TextView"
android:textColor="@color/color999999"
android:textSize="@dimen/textSize_14"
android:maxLines="2"
android:ellipsize="end"
app:layout_constrainedWidth="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toEndOf="@+id/iv_address_icon"
app:layout_constraintTop_toBottomOf="@+id/tv_study_name" />
</androidx.constraintlayout.widget.ConstraintLayout>
网友评论