2017-02-14 62 views
1

我想在同一行上有兩個textView。您可以在下面看到我的String物體很長和什麼時候很短時的相互作用。水平使用兩個textView的橢圓而不裁剪第二個

我正試圖在android xml視圖中執行此操作。

(第二個文本必須留在第一個的右側時,第一個是短)

enter image description here

這裏是我的代碼:

<LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="35dp" 
      android:layout_weight="1" 
      android:gravity="start|center_vertical"> 

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

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:ellipsize="end" 
        android:maxLines="1" 
        android:paddingRight="40dp" 
        android:scrollHorizontally="true" 
        android:text="TextView long" 
        android:textColor="@android:color/white" 
        android:textSize="15sp" /> 

       <RelativeLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_alignParentRight="true" 
         android:maxLines="1" 
         android:text="Text" 
         android:textColor="@android:color/white" 
         android:textSize="15sp" /> 

       </RelativeLayout> 

      </RelativeLayout> 

     </LinearLayout> 

我這裏的問題是,我的第二個文本「Text」每次都停留在右側父...

+0

爲什麼設置android:layout_width =「0dp」? –

回答

2

使用tablelayout並將兩個文本框放在表格行中都有try.Check這段代碼。

<TableLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:stretchColumns="1" 
    android:layout_margin="10dp" 
    android:background="@android:color/white" 
    android:shrinkColumns="0" 
    > 
    <TableRow> 
     <TextView android:id="@+id/title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView toooooooooooooooooooooooooooooooooooo long" 
      android:layout_marginLeft="10dp" 
      android:ellipsize="end" 
      android:singleLine="true" 
      /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Textview" 
      android:gravity="start" 
      android:textColor="@android:color/black" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="10dp" 
      android:ellipsize="none" 
      android:singleLine="true" 
      /> 
    </TableRow> 

</TableLayout> 
+0

謝謝你的工作是啊:-D – Johnny

0

您可以在第一個TextView中使用重量。檢查此代碼。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:padding="5dp" 
    android:gravity="start|center_vertical"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ellipsize="end" 
     android:maxLines="1" 
     android:paddingRight="40dp" 
     android:scrollHorizontally="true" 
     android:text="TextView toooooooooooooooooooooooooooooooooooo long" 
     android:textSize="15sp" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:maxLines="1" 
     android:text="Simple Text" 
     android:textSize="15sp" /> 

</LinearLayout> 
+0

當第一個textView字符串很短時,我想讓第二個textView保留在第一個textView的右邊。 – Johnny

+0

已更新的代碼。現在檢查 –

+0

我可以看到謝謝。但現在我的第二個textView消失,如果第一個textView太長...:/這是我的問題。 – Johnny