[英]Android - Ellipsize with right aligned view
我如何實現以下布局,TextView是一個帶有ellipsize end的TextView
,而View是wrap_content
,緊接着是TextView的右邊?
以下是布局應如何表現的三個示例,具有不同的TextView寬度:
|[TextView] [View] |
|[TextView TextView] [View] |
|[TextView TextView T...] [View]|
[編輯]
以下TableLayout
給出了正確的行為:
<TableLayout
android:id="@+id/upper_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/alert_button"
android:shrinkColumns="0"
android:stretchColumns="2" >
<TableRow>
<TextView
android:id="@+id/name_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:ellipsize="end"
android:includeFontPadding="false"
android:lines="1"
android:paddingTop="2dp"
android:scrollHorizontally="true" />
<TextView
android:id="@+id/unread_count_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:gravity="center"
android:includeFontPadding="false"
android:paddingBottom="0dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="2dp" />
</TableRow>
</TableLayout>
TableLayout
使用3列,最后一個是hack: strechColumns
屬性使得它占用所有可用空間,因此第二個TextView
總是立即位於第一個的右側。 由於shrinkColumns
屬性,第一個TextView
正確地進行了shrinkColumns
。
但是,我不喜歡使用TableLayout
來實現這一點。 有人知道更好的方法嗎?
謝謝
試試這個(我現在無法檢查,但從我的觀點來看它應該有效):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="6dip" >
<TextView
android:id="@+id/my_txtvw_txtvw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:ellipsize="marquee"
android:maxLines="1" />
<TextView
android:id="@+id/my_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/my_txtvw_txtvw"
android:maxLines="1" />
</RelativeLayout>
試試這個:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/my_view"
android:ellipsize="end"
android:maxLines="1"
android:layout_alignParentLeft="true"
android:text="blablabla blablabla"
android:layout_centerVertical="true"
android:gravity="center_vertical|left" />
<TextView
android:id="@+id/my_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:maxLines="1" />
</RelativeLayout>
我不確定你是否想要android:ellipsize="end"
或者android:ellipsize="marquee"
。 我認為布局對你來說很好,只需要替換所需的ellipsize值。
讓我知道你的進展......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.