2014-04-02 42 views
0

當我將元素放入LinearLayout中並將其格式化爲填充佈局的大小時,我在佈局的底部獲得了這個空白區域或空白區域。看起來似乎有些事情正在發生,但我似乎無法弄清楚。Android LinearLayout在底部添加額外的空間

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 

    <LinearLayout 
     android:id="@+id/botHand3" 
     android:layout_width="50dp" 
     android:layout_height="fill_parent" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:orientation="vertical"> 

     <Button 
      android:id="@+id/botTile3_0" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_1" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_2" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_3" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_4" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_5" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_6" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_7" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_8" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_9" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 
    </LinearLayout> 

</RelativeLayout> 

我不會在LinearLayout是水平的時候出錯。另外,當我將重心設置爲居中時,空白區會在佈局的頂部和底部之間分開。

+0

如果你的身高是'fill_parent',你爲什麼要用'alignParentBottom | Left | Top'? – Fllo

+0

這仍然沒有解決任何問題,甚至沒有改變它 – cashgl92

+0

另一個好奇的問題,爲什麼使用'Relative + LinearLayout',而你可能只有一個'LinearLayout'作爲父視圖。並嘗試將'android:weightSum =「10」'設置爲您的線性佈局。 – Fllo

回答

0

這可能是因爲上一個按鈕大於活動視圖中留下的空間,所以如果不將視圖設置爲ScrollView,則無法正確呈現。

因此,在這種情況下,您應該爲您的視圖定義一個ScrollView類型,或者減少按鈕高度以正確填充您的視圖實際高度。

不過,如果你只是想添加了滾動,請嘗試以下爲例:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 

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

    <LinearLayout 
     android:id="@+id/botHand3" 
     android:layout_width="50dp" 
     android:layout_height="fill_parent" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:orientation="vertical"> 

     <Button 
      android:id="@+id/botTile3_0" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_1" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_2" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_3" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_4" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_5" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_6" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_7" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_8" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginBottom="-3dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/botTile3_9" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_marginTop="-3dp" 
      android:layout_weight="1" /> 
    </LinearLayout> 

    </ScrollView> 

</RelativeLayout> 

祝你好運!

+0

它的工作(有點)在佈局中有10個按鈕,但我總共想要13個,之後,他們溢出。我認爲10對於這個特定的屏幕高度恰好是一個很好的數字 – cashgl92

+0

他們分裂,但加入ScrollView標籤,你應該能夠向下滾動你的視圖,看到分裂的按鈕,不同於以前,當他們只是不顯示在在所有的視圖。 – Bonifacio

+0

但是有了這個,我不希望他們滾動,我希望高度在按鈕之間,並填充整個佈局。最終,在我的問題中,所有的按鈕都顯示出來了,這就是'LinearLayout'底部存在的空白。水平做這件事並沒有給我帶來任何問題。 – cashgl92

相關問題