TextView与constraintLayout退出屏幕

Ehs*_*san 3 android android-layout android-constraintlayout

我正在ConstraintLayout在我的应用程序中创建下面的xml。如您所见,我的第一个项目很好,但是在第二个项目中,我的某些部分textView不在屏幕上!

这是我的XML代码:

<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/ly_user"
        android:padding="8dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    <ImageView
            app:layout_constraintRight_toRightOf="parent"
            android:id="@+id/im_user_icon"
            android:layout_width="@dimen/default_message_icon_size"
            android:layout_height="@dimen/default_message_icon_size"
            android:src="@drawable/user_pacific"/>

    <ImageView
            app:layout_constraintTop_toBottomOf="@+id/im_user_icon"
            app:layout_constraintRight_toLeftOf="@+id/im_user_icon"
            android:id="@+id/im_user_arrow"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:src="@drawable/arrow_bg1"/>

    <View
            android:id="@+id/view_user_guidLine"
            android:layout_width="1dp"
            android:layout_height="0dp"
            app:layout_constraintLeft_toLeftOf="@id/im_user_arrow"
            app:layout_constraintRight_toRightOf="@id/im_user_arrow"/>

    <TextView
            app:layout_constraintTop_toBottomOf="@+id/im_user_icon"
            app:layout_constraintRight_toLeftOf="@+id/view_user_guidLine"
            android:id="@+id/tv_user_message"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:padding="8dp"
            android:minWidth="@dimen/default_message_textarea_width"
            android:minHeight="@dimen/default_message_textarea_height"
            android:background="@drawable/bg_right_text"
            android:textColor="@android:color/white"/>


</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

我知道我可以解决此问题,将以下行添加到textView,但我需要textView做到这一点wrapContent

 app:layout_constraintLeft_toLeftOf="parent"
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Paw*_*ski 5

您可以将TextView's宽度设置为wrap_content,但是要防止其扩展到屏幕之外,您还需要添加左侧约束并用于app:layout_constrainedWidth="true"实施约束。

现在,要使TextView操纵杆向右移动,您需要添加app:layout_constraintHorizontal_bias="1",它将使其与正确的约束对齐。

总而言之,这些是所需的更改TextView

app:layout_constraintLeft_toLeftOf="parent"
app:layout_constrainedWidth="true"
app:layout_constraintHorizontal_bias="1"
android:layout_width="wrap_content"
Run Code Online (Sandbox Code Playgroud)