2013-11-20 27 views
0

我有一個相對的佈局,其中包含兩個LinearLayout。所以,當我setText(ID是companyText)和較長的文本就轉到上述在另一個TextView(id爲companyDistance如何去android xml中的下一行

companyName具有較長的文字,我希望它去下一行,而不是去avobe第二佈局 爲更清晰見附件圖片

enter image description here

但我想它會像這個圖片

enter image description here

這裏是我的main.xml文件

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

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/mainLayout" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:padding="10dp"> 
    <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true"> 
     <ImageView 
       android:id="@+id/companyImageView" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/secret_logo_small" 
       android:layout_marginRight="10dp"/> 
     <TextView 
       android:id="@+id/companyName" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@id/companyImageView" 
       android:textColor="@android:color/white" 
       android:layout_gravity="center" 
       android:text="Secret"/> 
    </LinearLayout> 

    <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:layout_alignParentRight="true"> 
     <TextView 
       android:id="@+id/companyDistance" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textColor="@android:color/white" 
       android:layout_marginTop="7dp" 
       android:textSize="18sp" 
       android:text="154" 
       android:layout_gravity="right"/> 

     <Button 
       android:id="@+id/companyPercentImage" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_below="@id/companyDistance" 
       android:textColor="@android:color/white" 
       android:text="@string/add" 
       android:paddingLeft="20dp" 
       android:paddingRight="20dp" 
       android:textSize="11sp" 
       android:background="@drawable/button_indicator_dagavit" 
       android:drawableLeft="@drawable/small_green_button_add_icon"/> 
    </LinearLayout> 
</RelativeLayout> 

回答

1

不要使用RelativeLayout使用LinearLayout。

這裏是你的問題的完整答案。祝你好運。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/mainLayout" 
       android:orientation="horizontal" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:padding="10dp"> 
    <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
       android:layout_weight="1" 
      android:layout_alignParentLeft="true"> 
     <ImageView 
       android:id="@+id/companyImageView" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/secret_logo_small" 
       android:layout_marginRight="10dp"/> 
     <TextView 
       android:id="@+id/companyName" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@id/companyImageView" 
       android:textColor="@android:color/white" 
       android:layout_gravity="center" 
       android:text="Secret"/> 
    </LinearLayout> 

    <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:layout_alignParentRight="true"> 
     <TextView 
       android:id="@+id/companyDistance" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textColor="@android:color/white" 
       android:layout_marginTop="7dp" 
       android:textSize="18sp" 
       android:text="154" 
       android:layout_gravity="right"/> 

     <Button 
       android:id="@+id/companyPercentImage" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_below="@id/companyDistance" 
       android:textColor="@android:color/white" 
       android:text="@string/add" 
       android:paddingLeft="20dp" 
       android:paddingRight="20dp" 
       android:textSize="11sp" 
       android:background="@drawable/button_indicator_dagavit" 
       android:drawableLeft="@drawable/small_green_button_add_icon"/> 
    </LinearLayout> 
</LinearLayout> 
+0

添加'\ n'可能有效,但如果它幫助您,請使用相對佈局而不是線性佈局 –

+0

@pmb,請接受此答案。這將幫助具有相同/相似問題的其他用戶。 – Michael

0

在你的TextView將這個:

android:maxLines="10" 

在你的TextView的文本,然後使用\n

maxLines使得TextView最多隻有這麼多行。您可以選擇其他號碼:)

+0

感謝您的回答,但這次對我來說這不是一個好的解決方案。 – pmb

+0

爲標籤添加'\ t',爲新線 –

0

首先,添加一個ID到第一個的LinearLayout:

<LinearLayout 
    android:id="@+id/left_linear" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true"> 

而且在你的第二個LinearLayout中,你需要添加屬性

android:layout_toRightOf="@id/left_linear 

讓你的XML將看起來像這樣:

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:layout_alignParentRight="true" 
    android:layout_toRightOf="@id/left_linear">