2012-04-16 183 views
16

我用TextView創建了一個類似於下面的LinearLayout。文本是可變的。如果元素變得比佈局寬度大,它會變得討厭。我希望文本能夠在寫一本書的時候流向一條新線。這可能嗎?Android:線性佈局新行

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

<TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="xx" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 

<EditText ...> 

<TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="xx" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 
</LinearLayout> 

編輯

這樣的:

  1. textview1text的EditText textview2
  2. textview2continuesin2ndrow

不喜歡這樣的:

  1. textview1text的EditText textview2text
  2. textview1cont
+0

我不確定它是否適合您的佈局設計,但您可以通過設置(例如,等於)「LinearLayout」中的三個元素的權重(以及它們的寬度爲「0dp」)。 – 2012-04-16 19:24:13

回答

18

試着像...

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" > 
     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="xx" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 
     <EditText ...> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" > 
     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:text="xx" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 
    </LinearLayout> 
</LinearLayout> 
+5

沒有嵌套LinearLayouts沒有辦法實現這一點? – 2014-10-07 16:54:33

+0

嘗試使用TableLayout。你只需要使用TableRow。 – timmyt123 2016-06-08 20:14:58

8

可以使用android:orientation="vertical"的LinearLayout中獲得的元素在不同的線路

+0

此方法只允許每行一個項目。 – 2017-07-14 04:13:19

1

嘗試這樣的事情

<?xml version="1.0" encoding="utf-8"?> 
<android.widget.LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context="com.example.sushrut.recipedemo.MainActivity"> 

    <android.widget.LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginBottom="40dp" 
     android:layout_marginTop="40dp" 
     android:orientation="horizontal" 
     tools:context="com.example.sushrut.recipedemo.MainActivity"> 

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/cameraActionButton" 
      android:layout_width="68dp" 
      android:layout_height="68dp" 
      android:layout_gravity="center" 
      android:layout_marginBottom="20dp" 
      android:layout_marginLeft="20dp" 
      android:layout_marginRight="20dp" 
      android:layout_marginTop="20dp" 

      app:fabSize="normal" 
      app:srcCompat="@android:drawable/ic_menu_camera" /> 

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/choiceActionBtn" 
      android:layout_width="68dp" 
      android:layout_height="68dp" 
      android:layout_gravity="center" 
      android:layout_marginBottom="20dp" 
      android:layout_marginLeft="20dp" 
      android:layout_marginRight="20dp" 
      android:layout_marginTop="20dp" 

      app:fabSize="normal" 
      app:srcCompat="@android:drawable/ic_input_add" /> 

    </android.widget.LinearLayout> 

    <android.widget.LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:orientation="horizontal" 
     tools:context="com.example.sushrut.recipedemo.MainActivity"> 

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/addToLibraryBtn" 
      android:layout_width="68dp" 
      android:layout_height="68dp" 
      android:layout_gravity="center" 
      android:layout_marginBottom="20dp" 
      android:layout_marginLeft="20dp" 
      android:layout_marginRight="20dp" 
      android:layout_marginTop="20dp" 
      android:clickable="true" 
      app:fabSize="normal" 
      app:srcCompat="@android:drawable/ic_menu_save" /> 

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/recipeBrowseBtn" 
      android:layout_width="68dp" 
      android:layout_height="68dp" 
      android:layout_gravity="center" 
      android:layout_marginBottom="20dp" 
      android:layout_marginLeft="20dp" 
      android:layout_marginRight="20dp" 
      android:layout_marginTop="20dp" 
      android:clickable="true" 
      app:fabSize="normal" 
      app:srcCompat="@android:drawable/btn_plus" /> 
    </android.widget.LinearLayout> 

</android.widget.LinearLayout>