[英]Align ImageView to end to text in textView
I need to align an imageView to end of textView, both are constraint on end to a checkbox.我需要将 imageView 与 textView 的末尾对齐,两者都限制在复选框的末尾。 The problem with my code is imageView always appears on the start of Checkbox and not where text in textView ends.我的代码的问题是 imageView 总是出现在 Checkbox 的开头,而不是 textView 中的文本结束的地方。 Can anyone help谁能帮忙
<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="0dp"
android:layout_height="wrap_content"
android:background="@color/white">
<TextView
android:id="@+id/tvMerchantTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/margin4"
android:layout_marginEnd="@dimen/margin8"
android:layout_marginStart="@dimen/margin16"
android:drawablePadding="@dimen/padding4"
android:ellipsize="middle"
android:maxWidth="@dimen/width200"
android:singleLine="true"
android:textSize="@dimen/textSize12"
app:layout_constraintBottom_toTopOf="@id/tvMerchantSubtitle"
app:layout_constraintEnd_toStartOf="@id/cbMerchantSelect"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toEndOf="@id/ivMerchantLogo"
app:layout_constraintTop_toTopOf="@id/ivMerchantLogo" />
<androidx.appcompat.widget.AppCompatCheckBox
android:id="@+id/cbMerchantSelect"
android:layout_width="@dimen/width16"
android:layout_height="@dimen/height16"
android:layout_marginEnd="@dimen/margin16"
android:button="@drawable/ic_round_checkbox"
android:clickable="false"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
I am using glide to set image to textView end drawable -我正在使用 glide 将图像设置为 textView end drawable -
Glide.with(this)
.load(url)
.into(object : CustomTarget<Drawable?>(
DisplayUtils.dpToPx(this.context, R.dimen.width30),
DisplayUtils.dpToPx(this.context, R.dimen.height20)
) {
override fun onLoadCleared(@Nullable placeholder: Drawable?) {}
override fun onResourceReady(
resource: Drawable,
transition: com.bumptech.glide.request.transition.Transition<in Drawable?>?
) {
mBinding.inPaymentMethod.tvMerchantTitle.setCompoundDrawablesWithIntrinsicBounds(
null,
null,
resource,
null
)
}
})
Add app:layout_constraintStart_toEndOf="@+id/tvMerchantTitle"
to your ImageView将app:layout_constraintStart_toEndOf="@+id/tvMerchantTitle"
添加到您的 ImageView
Example Code:示例代码:
<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="match_parent"
android:layout_height="wrap_content"
android:background="@color/white">
<TextView
android:id="@+id/tvMerchantTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="16dp"
android:drawablePadding="4dp"
android:ellipsize="middle"
android:maxWidth="200dp"
android:singleLine="true"
android:textSize="12sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/ivMerchantLogo"
app:layout_constraintBottom_toBottomOf="@+id/ivMerchantLogo"
android:text="@string/app_name"/>
<ImageView
android:id="@+id/ivMerchantLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toEndOf="@+id/tvMerchantTitle"
app:layout_constraintTop_toTopOf="parent"/>
<androidx.appcompat.widget.AppCompatCheckBox
android:id="@+id/cbMerchantSelect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:clickable="false"
android:gravity="end"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/ivMerchantLogo"
app:layout_constraintBottom_toBottomOf="@+id/ivMerchantLogo" />
</androidx.constraintlayout.widget.ConstraintLayout>
Output for above code is like:上述代码的 Output 如下所示:
If Textview's text is too long, Textview and ImageView will be over Checkbox's left How could make <ImageView's right> is not over <Checkbox's left> do not use textview drawableright like below如果Textview的文字太长,Textview和ImageView会在Checkbox的左边如何使<ImageView的右边>不在<Checkbox的左边>不要使用ZE62B85E9C91FF5C83DZEBdrawableCright like below
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.