2011-10-06 45 views
6

由於Text1變得更長,我該如何實現這一目標?Android - 具有右對齊視圖的佈局橢圓大小

| [文本1] [文本2] _ __ _ __ _ __ _ ___ |

| [Text1 Text1 Text1] [Text2] _ ___ |

| [Text1 Text1 Text1 Tex ...] [Text2] |

Text2應始終位於Text1的右側,但是當Text1太大時,它將被省略號並且Text2是右對齊的。

回答

1

你應該使用的RelativeLayout這樣,

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<TextView android:text="@string/radio_group_1" 
    android:ellipsize="end" android:singleLine="true" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" android:layout_toLeftOf="@+id/txt2"/> 
<TextView android:text="@string/Pink_Floyd" android:id="@+id/txt2" 
    android:layout_width="wrap_content" android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" /> 

</RelativeLayout> 
+0

其實,這是我已經有了。問題在於,在您的示例中,txt2始終與最右側對齊。我想知道是否有可能通過編程方式使txt2在第一個textview的右邊。一旦第一個文本視圖太長而無法在父級內嵌入txt2,它就會正確對齊,並且第一個文本視圖會被省略。 –

2
<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:ellipsize="end" 
     android:singleLine="true" 
     android:text="aaaaaaaaaaaaaaaaaaaaaaaa" 
     android:textSize="30dp"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:singleLine="true" 
     android:text="bbbbb" 
     android:textSize="30dp"/> 
</LinearLayout> 
+0

僅供參考,如果您設置了'android:singleLine =「true」',則不需要添加'android:ellipsize =「end」',因爲它會自動執行此操作。 – mjp66

+0

我實際上打開了一個不同的問題(我認爲這是同樣的問題)。因此,這是正確的答案。但是我爲錯誤的問題打開了獎金。 =( – EGHDK

0
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 

     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:weightSum="2" > 

     <TextView 
      android:id="@+id/Tv1" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:singleLine="true" 
      android:text="AAAAAAAAAAAAAAAAAAAAAAA" 
      android:textSize="22sp" 
      android:textColor="#000000" 
      android:gravity="center"/> 

     <TextView 
      android:id="@+id/TV2" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:singleLine="true" 
      android:text="BBBBBBBBBBB" 
      android:textColor="#000000" 
      android:textSize="22sp" /> 


    </LinearLayout> 

</RelativeLayout>