2011-10-06 42 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>