2017-10-11 80 views
0

我有這樣的(部分)佈局:如何「鎖定」的寬度在的TableRow

<TableRow 
    android:id="@+id/trLocation" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:id="@+id/textView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/location"/> 

    <TextView android:layout_width="wrap_content" 
       android:textSize="50dp" 
       android:layout_height="wrap_content" 
       android:text="1234" 
       android:id="@+id/tvLocation" 
       android:layout_weight="1" 
     /> 
</TableRow> 

現在,當我做出tvLovation數據過長,它將「推動」 textView3小,直到文本內容甚至被剪切,或者如果maxLines未設置,則流向下一行。

如何確保第一列的寬度永遠不會比我最長的文本更小?

ellipsize添加到tvLocation不起作用。

回答

0

通過設置android:layout_width =「0dp」將textView3和tvLocation的寬度設置爲零。

+0

謝謝,這似乎這樣的伎倆意見水平對齊。顯然,'layout_width'比'layout_weight'有更高的偏好?你是否可以參考有關這方面的文檔? –

+0

在LinearLayout的源代碼中讀取measureHorizo​​ntal()或measureVertical()方法。 你會明白的。 – Deng

0

當您在視圖中使用佈局權重時,請根據其方向將其高度或寬度更改爲0dp。因爲在使用權重時,其他屬性將被忽略。

這裏,因爲它是在一個錶行等改變android:layout_width0dp

相關問題