你必须将宽度设置为0dp,这意味着 的 match_constraint 强> 并将其结束约束到ImageView的开头
<androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" android:id="@+id/titleTextView" android:text="title" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/titleTextView" android:id="@+id/descriptionTextView" android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." app:layout_constraintEnd_toStartOf="@id/copyImageView" android:layout_width="0dp" android:layout_height="0dp"/> <ImageView app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" android:id="@+id/copyImageView" android:tint="?android:textColorSecondary" android:src="@drawable/ic_content_copy_black_24dp" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </androidx.constraintlayout.widget.ConstraintLayout>
你所需要的只是一点利润和正确的约束
现在在你的 descriptionTextView 首先你需要设置 app:layout_constrainedWidth="true" 所以这不要超越布局,并在右侧设置一些边距 android:layout_marginEnd="8dp"
descriptionTextView
app:layout_constrainedWidth="true"
android:layout_marginEnd="8dp"
现在你需要设置约束 ImageView 像这样
ImageView
app:layout_constraintEnd_toStartOf="@+id/copyImageView"
现在上面的行将始终保持文本视图不重叠
<androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/titleTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="title" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/descriptionTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:text="Lorem ipsum dolor sit amet, consectetur erererereradipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." app:layout_constrainedWidth="true" app:layout_constraintEnd_toStartOf="@+id/copyImageView" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/titleTextView" /> <ImageView android:id="@+id/copyImageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_content_copy_black_24dp" android:tint="?android:textColorSecondary" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.050000012" /> </androidx.constraintlayout.widget.ConstraintLayout>
您可以通过添加drawable right / end将图标添加到TextView端。使用下面的代码将drawable添加到TextView。您还可以设置drawable填充以在drawable和text之间留出空间。
android:drawableRight="@drawable/search_icon"