2012-04-30 41 views
1

我不知道爲什麼如果我在LinearLayout的頂部放置一個按鈕,然後在它下面放一個視圖,我可以看到按鈕。但是,如果將按鈕放置在視圖下方,則視圖會覆蓋該視圖。爲什麼意見掩蓋他們下面的事情,但不是上面?

例如,頂部一切按鈕可見:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 


    <View 
     android:id="@+id/view1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

</LinearLayout> 

但是,如果您將視圖下方的按鈕,你只能看到視圖:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <View 
     android:id="@+id/view1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 


    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 

</LinearLayout> 

這是爲什麼?我怎樣才能看到一個不包裹放在它下面的東西?

回答

0

我該如何獲得一個視圖,以不包裹放置在它下面的東西?

通過給你的View一個高度。

<View 
    android:id="@+id/view1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

標記定義不明確,無法呈現。它看起來像Android是把這個變成

<View 
    android:id="@+id/view1" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" /> 

,並因此推你Button窗外。

+0

因此,它只是將按鈕從屏幕上推下來,而不是實際覆蓋它?我不想把我的觀點固定在一個高度。我只是希望它能夠填滿頂部而不會將事情從底部推開。有任何想法嗎? – Josh

+0

Android to Josh:當你說'填滿頂部'時,你說的是水平填充屏幕,對吧?你想如何垂直行爲?您可以考慮在那裏對某個值進行硬編碼,或者在需要時在運行時對其進行設置,但需要設置高度。如果這可以實現您所需的功能,您可以考慮在按鈕上使用邊距。 –

+0

好吧,我知道它是按下按鈕,而不是覆蓋它。我手動設置高度,然後它不會推下。所以我只需要在運行時更好地處理它。 – Josh

0

因爲你的視圖是所有佈局/視圖的根,比如LinaerLayout,相對佈局,表格佈局,絕對佈局。所以你的視圖是你的自定義視圖中的線性佈局這裏的視圖直到現在還沒有決定它的寬度和高度BUt,如果你在某些類中定製它的寬度和高度,並在onMeasure中給它的寬度和高度,那麼在運行時按鈕將會在它下面。

相關問題