我尝试使用RelativeLayout
,LinearLayout
(因为它们是我通常使用的)但是我没有得到预期的效果。
我希望第一个TextView
保持不变。我的意思是显示完整的“第一个textview
” - 不是第一个文本...(剪切文本),甚至丢失所有文本。
更新:当第二个textview更短时,第一个textview应该坚持第二个textview。但是当第二个textview更长时,第一个textview不会丢失。
以下是 XML布局的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/second_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="14dp"
android:maxLines="1"
android:text="second textviewwwwwwwww"
android:textSize="20sp"/>
<TextView
android:id="@+id/first_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toStartOf="@+id/second_textview"
android:ellipsize="end"
android:gravity="end"
android:maxLines="1"
android:text="first textview"
android:textSize="20sp"/>
</RelativeLayout>
答案 0 :(得分:0)
试试这个
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/second_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/first_textview"
android:maxLines="1"
android:text="second textviewwwwwwwww"
android:textSize="20sp"/>
<TextView
android:id="@+id/first_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="first textview"
android:textSize="20sp"/>
答案 1 :(得分:0)
您应该使用android:layout_weight
尝试LinearLayout。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="10">
<TextView
android:id="@+id/first_textview"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:ellipsize="end"
android:maxLines="1"
android:padding="5dp"
android:text="first textview"
android:textSize="20sp" />
<TextView
android:id="@+id/second_textview"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="7"
android:ellipsize="end"
android:maxLines="1"
android:padding="5dp"
android:text="second tadkfj adfkj adflkja adfkj"
android:textSize="20sp" />
</LinearLayout>
答案 2 :(得分:0)
您的答案是水平的LinearLayout
。第一个元素的宽度应设置为"wrap_content"
,第二个元素的宽度应设置为"match_parent"
。还将第二个元素的singleLine
属性设置为true
。因此,您的代码将如下所示:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/first_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="first textview"
android:textSize="20sp"/>
<TextView
android:id="@+id/second_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="14dp"
android:singleLine="true"
android:ellipsize="end"
android:text="second textviewwwwwwwww"
android:textSize="20sp"/>
</LinearLayout>