Android 左视图宽度是否由右视图宽度决定

Android 左视图宽度是否由右视图宽度决定,android,android-constraintlayout,Android,Android Constraintlayout,我正在尝试创建一个布局,其中左侧有一个ImageView,右侧有一个TextView,我希望ImageView的宽度由TextView中的文本量决定,直到minWidth(本例中为300dp)如果没有太多的文本,由于文本视图的宽度较小,图像视图的大小会更大 这就是我所拥有的 <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.Constraint

我正在尝试创建一个布局,其中左侧有一个ImageView,右侧有一个TextView,我希望ImageView的宽度由TextView中的文本量决定,直到minWidth(本例中为300dp)如果没有太多的文本,由于文本视图的宽度较小,图像视图的大小会更大

这就是我所拥有的

<?xml version="1.0" encoding="utf-8"?>
<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="match_parent"
    tools:context=".MainActivity">

    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:src="@drawable/image"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/textview"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintWidth_min="300dp"/>

    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
        android:textSize="48sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

我原以为这会奏效,但textview似乎与imageview重叠,并将imageview推离屏幕


有什么方法可以做到这一点吗?

通过将文本视图的开头约束到图像视图的结尾,创建一个包含两个视图的链。对于文本视图,指定

将其保持在ConstraintLayout的边界内。此外,请删除ImageView高度的匹配项。改用
0dp
(匹配约束)



仍然当有大量文本时,图像宽度小于我设置的最小值300dp(如果文本填满屏幕,则根本无法显示)。我认为minWidth意味着视图的宽度不会小于给定的大小,但看起来我错了assumption@tyczj你试过我发布的XML吗?它没有这些问题。哦,我抄错了,你是对的。它看起来确实有效,谢谢!
 app:layout_constrainedWidth="true"
<androidx.constraintlayout.widget.ConstraintLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:src="@drawable/ic_launcher_foreground"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/textview"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintWidth_min="300dp" />

    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
        android:textSize="48sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constrainedWidth="true"
        app:layout_constraintStart_toEndOf="@id/imageView"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>