2012-09-02 104 views
8

我使用GridLayout使用庫兼容性(不是沒有嘗試過)有一個問題。我正在使用app:layout_gravity="fill_horizontal"而不是android:layout_gravity="fill_horizontal",但不顯示TextView中的所有內容。爲了展示一切,我必須設置TextView「標題」的高度,但我想要一個動態高度,而不是一個設定高度。GridLayout中TextView的動態高度

有什麼想法?

回答

27

您必須爲TextView設置layout_width="0dp"layout_gravity="fill_horizontal"

<TextView 
android:layout_width="0dp" 
app:layout_gravity="fill_horizontal" /> 

請在這裏看到完整的例子:https://groups.google.com/d/msg/android-developers/OmH3VBwesOQ/ZOGR0SGvC3cJ或在這裏:http://daniel-codes.blogspot.com/2012/01/gridlayout-view-clipping-issues.html

+0

重要的是要注意**應用程序:** layout_gravity。我以一種風格來設定價值,它並沒有警告我,花了我一段時間才弄清楚問題所在。 – basilisk

+0

如果它位於第二行,它需要上一行寬度的寬度 –

17

使用TextViewGridLayout是有問題的,但有同時使用起來的好辦法。

這是示例佈局中是什麼樣子:

TextView inside GridLayout

這是完整的佈局文件,重要的行標有***。

<?xml version="1.0" encoding="utf-8"?> 
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:columnCount="3"    * this example uses 3 columns 
    android:orientation="horizontal" > *** use "horizontal" 

<TextView        * just a normal view 
    android:layout_column="0" 
    android:layout_row="0" 
    android:background="#666666" 
    android:text="A" 
    android:textColor="#afafaf" 
    android:textSize="60sp" 
    android:textStyle="bold" /> 

<TextView        * this text will not be cut! 
    android:layout_width="0dp"   *** important: set width to 0dp 
    android:layout_height="wrap_content" 
    android:layout_column="1" 
    android:layout_columnSpan="2"  * colspan does also work with this 
    android:layout_gravity="fill_horizontal|bottom"  *** set to "fill*"! 
    android:layout_row="0" 
    android:text="This view has 2 columns. Lorem ipsum dolor sit amet, consetetur sadipscing elitr." 
    android:textColor="#666666" /> 

</GridLayout> 

根據您的需要,也是這個組合將工作:

android:layout_width="0dp" 
    android:layout_height="0dp" 
    android:layout_gravity="fill" 
    android:gravity="bottom" 

請注意,您不必使用比android這個工作以外的任何命名空間。

+0

謝謝,它的工作原理。但我很好奇你是如何發現這個詭計的? (0dp用於'layout_width'併爲'layout_gravity'填充屬性) – Leo

+2

偉大的工作發現。很難讓我的TextView在我的GridLayout中正確地包裝文本。在關於同一問題的許多主題上遵循了所有其他建議和答案,但只有你的工作。非常感謝你! :) –