2013-10-23 153 views
3

我有一個帶有白色背景的LinearLayout,填充了一堆LinearLayouts和RelativeLayouts。我試圖將父級佈局設置爲具有最小高度,但它似乎仍然包裝到內容中。Android LinearLayout:不顯示正確的高度

下面是它現在看起來像的圖片。白色空間應該具有比現在更大的設定的最小高度。 enter image description here

這就是我認爲是XML的相關章節:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/contactViewScrollView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#ABABAB" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="300dip" 
     android:background="#FFFFFF" 
     android:orientation="vertical" > 

     <RelativeLayout 
      android:id="@+id/contactHeader" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="#EDEDED" 
      android:paddingLeft="10dp" > 

      <TextView 
       android:id="@+id/fullName" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="175dip" 
       android:paddingTop="5dp" 
       android:textSize="18sp" /> 

      <View 
       android:layout_width="1dp" 
       android:layout_height="90dp" 
       android:layout_toLeftOf="@+id/image" 
       android:background="#000000" /> 

      <ImageView 
       android:id="@+id/image" 
       android:layout_width="90dp" 
       android:layout_height="90dp" 
       android:layout_alignParentRight="true" 
       android:background="#D6D6D6" 
       android:contentDescription="@string/contact_image_description" 
       android:scaleType="centerCrop" /> 
     </RelativeLayout> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="1dp" 
      android:background="#000000" /> 

     <LinearLayout 
      android:id="@+id/mobile" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:paddingLeft="10dp" > 

      <TextView 
       android:id="@+id/mobilePhoneHeading" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:paddingTop="15dp" 
       android:text="@string/mobile_phone" 
       android:textColor="#787878" /> 

      <TextView 
       android:id="@+id/mobilePhone" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:paddingBottom="10dp" 
       android:paddingTop="2dp" 
       android:textSize="18sp" /> 
     </LinearLayout> 

...等衆多LinearLayouts,全部設置爲 'GONE' 編程。

任何人都可以提出修復方案嗎?我無法弄清楚爲什麼這個白色部分佔用了很小的空間。

+0

快速提示:有兩個視圖具有相同的「@ + id/image」。這也無濟於事。 – Faulty

回答

2
// try this 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/contactViewScrollView" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#ABABAB" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="300dp" 
      android:background="#FFFFFF" 
      android:orientation="vertical" > 

      <RelativeLayout 
       android:id="@+id/contactHeader" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="#EDEDED" 
       android:paddingLeft="10dp" > 

       <TextView 
        android:id="@+id/fullName" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginRight="175dp" 
        android:paddingTop="5dp" 
        android:textSize="18sp" /> 

       <View 
        android:layout_width="1dp" 
        android:layout_height="90dp" 
        android:layout_toLeftOf="@id/image" 
        android:background="#000000" /> 

       <ImageView 
        android:id="@+id/image" 
        android:layout_width="90dp" 
        android:layout_height="90dp" 
        android:layout_alignParentRight="true" 
        android:background="#D6D6D6" 
        android:contentDescription="contact_image_description" 
        android:scaleType="centerCrop" /> 
      </RelativeLayout> 

      <View 
       android:layout_width="fill_parent" 
       android:layout_height="1dp" 
       android:background="#000000" /> 

      <LinearLayout 
       android:id="@+id/mobile" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:paddingLeft="10dp" > 

       <TextView 
        android:id="@+id/mobilePhoneHeading" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:paddingTop="15dp" 
        android:text="mobile_phone" 
        android:textColor="#787878" /> 

       <TextView 
        android:id="@+id/mobilePhone" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:paddingBottom="10dp" 
        android:paddingTop="2dp" 
        android:textSize="18sp" /> 
      </LinearLayout> 
     </LinearLayout> 
    </LinearLayout> 
</ScrollView> 
+0

謝謝,它工作! –

1

設置第二個線性佈局的高度。現在它被設置爲包裹內容...不喜歡

<LinearLayout 
     android:id="@+id/mobile" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" //for example 
     android:orientation="vertical" 
     android:paddingLeft="10dp" > 

     <TextView 
      android:id="@+id/mobilePhoneHeading" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingTop="15dp" 
      android:text="@string/mobile_phone" 
      android:textColor="#787878" /> 

     <TextView 
      android:id="@+id/mobilePhone" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingBottom="10dp" 
      android:paddingTop="2dp" 
      android:textSize="18sp" /> 
    </LinearLayout> 
+0

謝謝,我現在就放棄它。 –

+0

它似乎沒有解決它,但它可能是我的代碼中的東西。 –

1

這可能是因爲該設備的大小了。我肯定會建議使用線性佈局的重量。無論平板電腦還是手機,這都可以讓所有設備都完美無瑕。

讓我知道你是否想要更多的指導,或者如果你有任何重量問題。

+0

感謝您的回答,我甚至沒有想過要使用體重,所以很高興知道。 –