2015-06-19 45 views
3

我有兩個TextView並排顯示。 TextView1具有不同長度的文本,而TextView2總是說「+#」。但是,當TextView1變長時,它會將TextView2推離屏幕。任何想法如何解決這一問題?這是我的佈局代碼:Long Android TextView將其他視圖從屏幕上移開

<RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

     <TextView 
      android:id="@+id/TextView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:singleLine="true" 
      android:ellipsize="end" 
      android:textSize="13sp"/> 

     <TextView 
      android:id="@+id/TextView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:singleLine="true" 
      android:textSize="13sp"/> 

    </RelativeLayout> 
+0

你打算讓父視圖成爲RelativeLayout還是LinearLayout?您正在指定android:orientation =「horizo​​ntal」,並且方向僅對LinearLayout有效。此外,如果你能澄清預期的行爲,這將有所幫助。 –

回答

17

這其實是我一直試圖解決現在一會兒。不幸的是,其他人建議的方法 - 在LinearLayout內部使用layout_weight - 實際上並不奏效;不過,我爲你找到了一個解決方案!

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="left"> 

    <TextView 
     android:id="@+id/TextView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@id/TextView2" 
     android:singleLine="true" 
     android:ellipsize="end" 
     android:textSize="13sp"/> 

    <TextView 
     android:id="@+id/TextView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:singleLine="true" 
     android:textSize="13sp"/> 
</RelativeLayout> 

利用上述塊,我們爲了將第一TextView對齊到第二TextView的左側使用RelativeLayout。我們還將第二個TextView對齊到父節點ViewGroup的右側。最後,我們將android:gravity="left"添加到父節點ViewGroup,以便將所有TextView排列在左側。

這導致兩個TextView並列 - 無論第一個TextView的長度。如果您希望第一個TextView有多行,只需刪除android:ellipsize="end"標籤即可。

希望這是您的預期結果!

+0

Perfecto !!非常感謝,這正是我所需要的! – Cameron

+0

NP!很高興工作:D –

+1

有史以來最佳答案!我正在尋找這個兩個小時:) – TrueCurry

0

使用的LinearLayout與孩子體重attributs意見

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

     <TextView 
      android:id="@+id/TextView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:singleLine="true" 
      android:ellipsize="end" 
      android:textSize="13sp" 
      android:layout_weight="1"/> 

     <TextView 
      android:id="@+id/TextView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:singleLine="true" 
      android:textSize="13sp" 
      android:layout_weight="0"/> 

    </LinearLayout> 
相關問題