在LinearLayout中裁剪textView
问题描述:
我有两个TextView在其中的LinearLayout - textName
和textPrice
。所述textName
的性质:在LinearLayout中裁剪textView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
和textPrice
的属性:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
在这种情况下,当textName
长,它延伸在整个线和关闭textPrice
。
这里是我的XML的标记:
<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
),当它的时间太长?
谢谢。
答
设置ellipsize
属性在TextView
和更好的在这两个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>
答
您可以使用android:maxEMS
(EMS是指占用字符的最大空间,技术上由E或M占用的空间)并选择特定的长度。如果文字太长,它会自动添加三个点(...)。
答
集
android:ellipsize="end"
您TextView
。
答
使用weight
你应该在你的TextView设置android:ellipsize
。