我有LinearLayout,里面有两个TextView - textName
和textPrice
。 textName
的属性:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
和textPrice
的属性:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
如果textName
很长,它会延伸整条线并关闭textPrice
。
这是我的xml-markup:
<LinearLayout
android:id="@+id/textNameTimeHolder"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/thumbnail"
android:layout_toRightOf="@+id/thumbnail" android:layout_alignBottom="@+id/thumbnail">
<TextView
android:id="@+id/textName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Неудержимые 3"
android:textColor="#040404"
android:typeface="sans"
android:textSize="15sp"
android:textStyle="bold"
android:singleLine="true"
android:layout_toLeftOf="@+id/textPrice"/>
<TextView
android:id="@+id/textPrice"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="15sp"
android:text="150 - 220 сом"
android:layout_marginRight="5dp"
android:layout_gravity="right"/>
</LinearLayout>
如果textName
(使用singleline
),如果时间过长会如何裁剪?
感谢。
答案 0 :(得分:1)
设置
android:ellipsize="end"
代表TextView
。
答案 1 :(得分:1)
在ellipsize
中设置TextView
属性,最好在weight
中使用TextView
<LinearLayout
android:id="@+id/textNameTimeHolder"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/thumbnail"
android:layout_toRightOf="@+id/thumbnail"
android:layout_alignBottom="@+id/thumbnail">
<TextView
android:id="@+id/textName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:text="Неудержимые 3"
android:textColor="#040404"
android:typeface="sans"
android:textSize="15sp"
android:textStyle="bold"
android:singleLine="true"/>
<TextView
android:id="@+id/textPrice"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:gravity="right"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="15sp"
android:text="150 - 220 сом"
android:layout_marginRight="5dp"
android:layout_gravity="right"/>
</LinearLayout>
答案 2 :(得分:0)
您可以使用android:maxEMS
(EMS是占用角色的最大空间,技术上占用E或M的空间)并选择特定长度。如果文字太长,它将自动附加三个点(...)。
答案 3 :(得分:0)
您应在文字视图上设置android:ellipsize
。