2014-01-20 70 views
0

運行以下代碼後,TextView3未顯示。當我運行方向爲LinearLayout2的代碼爲vertical時,顯示了TextView2TextView3。在horizontal的方向,只顯示TextView3嵌套LinearLayout中的TextView現在顯示

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

    <TextView 
     android:id="@+id/TextView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/String1" /> 

    <LinearLayout 
     android:id="@+id/LinearLayout2" 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <TextView 
      android:id="@+id/TextView2" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="@string/String2"/> 

     <TextView 
      android:id="@+id/TextView3" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="@string/String3"/> 

    </LinearLayout> 

    <ListView 
     android:id="@+id/ListView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

</LinearLayout> 

回答

0

問題是你已經設置爲android:layout_widthLinearLayout2TextView2TextView3match_parent

現在,當您將LinearLayout2的方向設置爲horizontal時,將只會看到TextView3

一個解決方案是如下平均分配兩個TextView之間的寬度。

<LinearLayout 
    android:id="@+id/LinearLayout2" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <TextView 
     android:id="@+id/TextView2" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="wrap_content" 
     android:text="@string/String2"/> 

    <TextView 
     android:id="@+id/TextView3" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="wrap_content" 
     android:text="@string/String3"/> 

</LinearLayout> 

希望這有助於。

0

TextView 2的寬度是match_parent,這意味着它將填充父容器的寬度。

當父線性佈局是垂直的,這並不重要,因爲對「行」,文本視圖2.

當它是水平的只有一件事,TextView2填充寬度,然後TextView3是在此之後放置,但它不在屏幕上。

如果您希望TextView2和3彼此相鄰,則可以使用layout_weight作爲第二個LinearLayout。

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

     <TextView 
      android:id="@+id/text_view_1" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1.0" 
      android:text="@string/String1" /> 

     <TextView 
      android:id="@+id/text_view_2" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1.0" 
      android:text="@string/String2" /> 

    </LinearLayout>