我有这个XML:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
style="@style/Icon"
tools:background="@color/Black54Opacity" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:baselineAligned="false">
<LinearLayout
android:layout_width="0dp"
android:layout_height="24dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="24dp"
android:ellipsize="end"
android:includeFontPadding="false"
android:maxLines="1"
android:padding="0dp"
android:textColor="@android:color/black"
android:textSize="20sp"
tools:text="LONG LONG LONG" />
<TextView
android:layout_width="wrap_content"
android:layout_height="18dp"
android:minWidth="18dp"
tools:text="2342"
tools:visibility="visible" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="24dp"
android:gravity="center_vertical|end"
android:textColor="4CAF50"
tools:text="EDIT" />
</LinearLayout>
</LinearLayout>
当我在第一个TextView中插入长文本时-我的第二个TextView移到了第三个TextView下。
我希望第一个TextView中的文本可以调整到该大小,以便其他两个TextView不会改变其大小。
第一个TextView中的长文本最后被省略。 必须始终将第二个TextView压在第一个TextView的左侧。
答案 0 :(得分:0)
为您的TextView使用重量
尝试一下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context=".MainActivity">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"
android:fitsSystemWindows="true"
android:scaleType="fitXY"
android:id="@+id/img"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="5"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textAlignment="center"
android:layout_weight="1"
android:text="Edit"/>
</LinearLayout>
</LinearLayout>
答案 1 :(得分:0)
我们通过ConstraintLayout
找到了解决方案。
LinearLayout
。app:layout_constrainedWidth="true"
。这是非常重要的属性。