2014-02-14 122 views
1

這裏熄滅屏幕的佈局:的TextView中的RelativeLayout

<?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="match_parent" 
    android:columnCount="2" 
    android:rowCount="2" 
    android:rowOrderPreserved="true" 
    android:alignmentMode="alignMargins"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_row="0" 
     android:layout_column="0" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="Test:" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_row="0" 
     android:layout_column="1" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="too long line too long line too long line too long line" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="Test2:" 
     android:paddingRight="10dp" 
     android:layout_row="1" 
     android:layout_column="0" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_row="1" 
     android:layout_column="1" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="Test line" /> 
</GridLayout> 

,這裏是發生了什麼的截圖:

TextView

如何防止第二的TextView(一個選擇上屏幕截圖)?

回答

6

您可以通過爲每個文本視圖分配一個寬度的match_parent和一個合適的layout_weight來避免所有這些。下面的代碼會給你你需要的東西。請享用!

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 
     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="3" 
      android:text="Test 1"/> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="line too long line too long line too long line too long line too long "/> 
     </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 
     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="3" 
      android:text="Test 2"/> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="line too long line too long line too long line too long line too long "/> 
    </LinearLayout> 

</LinearLayout> 
+1

這是正確的道路要走,但答案可能是一個小更復雜,例如添加代碼片段顯示一個正確的方式來做到這一點。雖然好的解決方案;) – 2Dee

+0

我爲此道歉。有點急,但想幫忙:) –

+0

@ TheHungryAndroider:謝謝。你可以使用layout_weight發佈一個例子嗎? – xx77aBs

1

這是因爲您的textView寬度是wrap_content。這意味着如果你的文字太長,那麼它將會失去屏幕。所以更好的方法是將其設置爲match_parent

是的,如果它太長,那麼你可以設置MAXLINES它。

3

答案很簡單。只有3行XML代碼。 在你的TextView,把下面幾行:

<TextView 
    android:layout_width = "match_parent" 
    android:layout_height = "wrap_content" 
    android:width = "0dp"/> 
相關問題