首页 > 解决方案 > Android - 防止 TextView 在 LinearLayout 中推出另一个元素

问题描述

这是布局:

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="horizontal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/profileUserImage">

        <TextView
            android:id="@+id/profileNickname"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:scrollHorizontally="false"
            android:text="No Nickname yet fdg d trdt rdrt tdr  td trd t"
            android:textColor="@color/colorText"
            android:textSize="24sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <ImageView
            android:id="@+id/btnEditNickname"
            android:layout_width="42dp"
            android:layout_height="42dp"
            android:layout_marginLeft="8dp"
            android:padding="6dp"
            android:scaleType="fitXY"
            app:srcCompat="@android:drawable/ic_menu_edit" />

    </androidx.appcompat.widget.LinearLayoutCompat>

profileNickname变得太长时,它会从btnEditNicknameLinearLayout 中推出,并且会在文本被换行之前将自己从 Layout 中覆盖出来。在毁掉一切之前,我怎样才能让这个烦人的 c*** 及时包装?我已经厌倦了为这样的未成年人浪费时间,我讨厌安卓!

标签: androidxmlandroid-layout

解决方案


您只需要将这一行添加到 TextView android:layout_weight="1"

这是最终的 XML

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">


    <TextView
        android:id="@+id/profileNickname"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:scrollHorizontally="false"
        android:text="No Nickname yet fdg d trdt rdrt tdr  td trd t"
        android:textColor="#FFF"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ImageView
        android:id="@+id/btnEditNickname"
        android:layout_width="42dp"
        android:layout_height="42dp"
        android:layout_marginLeft="8dp"
        android:layout_gravity="center"
        android:padding="6dp"
        android:scaleType="fitXY"
        app:srcCompat="@android:drawable/ic_menu_edit" />
</LinearLayout>

推荐阅读