2010-02-18 72 views
0

我有一个水平LinearLayout,其中我有2个TextViews。假设LinearLayout的宽度是320px。如果TextViews不适合进入的LinearLayout(他们在一起比320像素宽),我想以某种方式实现这一目标:如何创建这样的布局?

  • 第二 TextView中得到充分的展示,是在的LinearLayout
  • 的右边缘
  • 第一的TextView仅部分所示,只有第一个X字符是可见

我的意思:

[TextView1 | TextVi ew2_________________________] //这是正常的

[VeryVeryL ... | VeryVeryLongTextView2] // VeryVeryLongTextView1不完全可见

回答

0

为了让你在评论上述要求的效果,你可以修改梅拉的解决方案是这样的:

<LinearLayout ...> 
<TextView android:layout_width="wrap_content" 
      android:maxWidth="20dp" 
      android:layout_height="wrap_content"/> 
<TextView android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1"/> 

我认为这会工作。奇怪的是,最大宽度参数仅存在于几个视图类中,但幸运的是TextView就是其中之一。你会认为它会在更多情况下有用,所以我不确定为什么它不仅仅在默认视图参数中可用。

+0

非常感谢! – fhucho 2010-02-18 20:27:35

0

指定一个特定的宽度为您的第一个TextView的(即20dp ......注,这是更好要使用dp而不是硬编码的像素来处理设备的多个分辨率),给第二个TextView权重为1.这就告诉它占用剩余的空间。例如:

<LinearLayout ...> 
    <TextView android:layout_width="20dp" 
       android:layout_height="wrap_content"/> 
    <TextView android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1"/> 
</LinearLayout> 
+0

如果你想textView1文本中的3个点表明它是一个长文本,你可以添加android:ellipsize =“end” – ccheneson 2010-02-18 19:39:23

+0

谢谢,但我需要,如果第一个TextView非常小,第二个就在它旁边 - 我想[T1 | TextView2 ___]而不是[T1 ___ | TextView2__]。 – fhucho 2010-02-18 19:45:19