2013-04-05 45 views
2

我有一個標題下拉菜單。當按下按鈕時,下拉菜單就會出現。問題是活動中的所有其他視圖都與android:layout_below="@id/header"一起定位,並且下拉菜單將所有內容向下推,因爲它會增加標題的高度。我需要排除android:layout_height="wrap_content"的下拉菜單,以防止這種情況發生。可能嗎?如何從Android視圖中的「wrap_content」中排除項目?

注意:我可以通過編程方式解決問題,我只想了解是否可以從XML中的「warp_content」中排除項目。

+0

你想說什麼..澄清它。 – Unknown 2013-04-05 06:16:15

+0

增加了更多文字,我希望它更清晰。 – 2013-04-05 06:20:58

+0

不清楚enuff。 – Hasham 2013-04-05 06:24:01

回答

1

您不能,除非你設置android:visibility=gone在佈局計算中被考慮排除ViewGroup中的孩子。但你可能想用RelativeLayout替換你的主容器,然後讓你定位一些元素,如你所願

+0

是的,我使用android:visibility =最初消失了,但是當我需要顯示下拉菜單時,我以編程方式將值更改爲「可見」,並且隨着高度而變化。我已經使用RelativeLayout。謝謝您的回答。至少現在我知道無法從「wrap_content」中排除一個項目。 – 2013-04-05 06:40:36

1

RelativeLayout開始,比在RelativeLayout中添加所有項目,最後將頭文件放在xml的底部(在底部,它將顯示所有其他元素)。例如。是這樣的:

<!-- Root element --> 
<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <!-- First text view, the margin_top defines space for your header --> 
    <TextView android:id="@+id/tv1" android:layout_margin_top="height_of_your_header"/> 

    <!-- TextView below another view --> 
    <TextView android:id="@+id/tv2" android:layout_below="@+id/tv1" /> 

    <!-- Your Header file, which will be positioned over all elements 
    - When closed, it will fit above @id/tv1 
    - When opened, it will float above the other elements --> 
    <include 
     layout="@layout/header" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

</RelativeLayout> 
+0

根據png文件,標題的高度在不同屏幕之間變化,我無法真正使用android:layout_margin_top的常量值。我想我會最終以編程方式設置高度。不管怎麼說,還是要謝謝你。 – 2013-04-05 06:34:12

+0

在這種情況下,您應該以編程方式完成最簡單的出路 – Entreco 2013-04-05 06:36:27

+0

是的,我最終以編程方式設置了高度。感謝您的幫助! – 2013-04-05 06:42:04

相關問題