我有一个相对布局,其中有两个 TextView 。 Textview 1 与父级顶部和左侧对齐。 Textview 2 与 textview 1 的右侧对齐,并与父 View 右侧对齐。如果 1 中的文本太长,这会产生问题,这意味着 1 会将 2 推出屏幕最坏的情况。
如何让这两个从文本 nr 1 而不是 2 中“牺牲”?最小宽度似乎不起作用。我的最终目标是省略文本 1,但似乎首先取决于 TextView 的大小是否正确。
这是xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/TextView02"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/TextView01"
android:text="I am number 2"
android:gravity="right"
android:lines="1"
android:minWidth="32sp">
</TextView>
<TextView android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:id="@+id/TextView01"
android:layout_alignParentLeft="true"
android:textSize="22sp"
android:layout_width="wrap_content"
android:lines="1"
android:text="sd sd asd sad asd asd saasd a">
</TextView>
</RelativeLayout>
最佳答案
您可以使用权重属性通过水平线性布局轻松地做到这一点。以下代码将为您工作。我也为您的 View 设置了 id,所以只需直接复制粘贴它,它就可以在您的代码中使用。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="horizontal"
>
<TextView
android:id="@+id/TextView01"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="1"
android:text="Some Long and Random Text Some Long and Random Text"
/>
<TextView
android:id="@+id/TextView02"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="0"
android:layout_gravity="right"
android:text="I am number 2"
/>
</LinearLayout>
关于android - TextView和其他TextView挤压时的Ellipsize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4700089/