我正在屏幕上水平布置3个视图(固定大小的图像和2个单行文本视图:leftTextView
和rightTextView
)我正试图rightTextView
让它拥抱leftTextView
,但是如果两个标签的宽度都会超过屏幕大小,截断leftTextiew
.
所需功能的示例:
|img|leftText|rightText| ||(end of screen)
|img|leftTextMedium|rightText| ||
|img|leftTextTooLongSoTrunc...|rightText||
Run Code Online (Sandbox Code Playgroud)
实际发生了什么:
|img|leftText|rightText| ||(end of screen)
|img|leftTextPrettyLongButNotHuge|rightT||
|img|leftTextWhichIsIncrediblyLongBlahBl||
Run Code Online (Sandbox Code Playgroud)
目前,如果两个文本视图的大小都超过了视图的宽度,那么rightTextView
最终会被压缩以腾出空间,即使我已经设置android:ellipsize="end"
了leftTextView
.
有没有办法让它leftTextView
具有"截断优先级",表示它应该截断,如果它会导致其他视图不适合?或者在另一方面,我可以设置rightTextView
为具有"抗压性"以防止它被挤压以为其腾出空间leftTextView
吗?这是我的XML示例:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/fixedWidthImage"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:id="@+id/leftTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/fixedWidthImage"
android:layout_toRightOf="@id/fixedWidthImage"
android:maxLines="1"
android:textSize="18sp"
android:ellipsize="end" />
<TextView
android:id="@+id/rightTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/leftTextView"
android:layout_toRightOf="@+id/leftTextView"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:maxLines="1"
android:textSize="12sp" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我试过的事情:
leftTextView
添加一个toStartOf
/ toLeftOf …