2010-02-18 68 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