2012-04-09 57 views
3

有一個有趣的問題,我在Android Honeycomb項目上工作時偶然發現。正如您在下面的圖片中看到的那樣,在對話框中展開微調器時,底部的導航欄與其重疊。因此,不能選擇底部的元素。Android底部導航欄與Spinner重疊。設置Spinner下拉高度/保證金

爲了解決這個問題,我嘗試在Spinner小部件中使用android:fitsSystemWindows="true"。它不起作用。另外我注意到,我們有一個XML屬性下拉寬度,android:dropDownWidth,但沒有高度。

Navigation Bar overlapping Spinner

下面是3個紗廠的XML佈局:

<TableRow> 

     <Spinner 
      android:id="@+id/order_dialog_category_code_Spinner" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:fitsSystemWindows="true" /> 

     <Spinner 
      android:id="@+id/order_dialog_packing_code_Spinner" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:fitsSystemWindows="true" /> 

     <Spinner 
      android:id="@+id/order_dialog_product_Spinner" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:fitsSystemWindows="true" /> 
    </TableRow> 

我會繼續測試,希望能夠儘快找到一個解決方案,但它是一個有趣的問題,它當之無愧地被公佈。

我沒有在Android ICS中測試,但我認爲它可能會採取相同的行動。

EDIT

我通過使用用於紗廠的android:layout_marginBottom屬性有所管理的修復。它確實解決了這個問題,但現在我在對話視圖中也有了餘量,我不想那麼做。

Spinner overlapping temporary fix

有誰知道如何設置保證金僅爲下拉資源?

回答

2

經過一些更多的研究,似乎您無法操縱Spinner下拉菜單的高度或任何其他佈局屬性。

這是因爲下拉菜單實際上是一個彈出式對話框,無法從Spinner視圖中加入。

這個答案聲明明確:https://stackoverflow.com/a/1918655/529138

所以接縫,我不得不使用android:layout_marginBottom如問題規定。

+0

我得到了同樣的問題,真的很煩人的錯誤,你現在發現了一個更好的修復? – Jakob 2013-01-02 13:35:33

+0

不幸的不是。我沒有重新討論這個問題。 – Bandreid 2013-01-08 08:39:29

3

即使我面臨同樣的問題。與你的屏幕不同,我的屏幕只有一個選項。所以我做了修改更改android:spinnerMode:「對話框」。

<Spinner 
     android:id="@+id/dialog_spinner" 
     android:spinnerMode="dialog" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     > 

這會在新的對話框中顯示您的列表。以防萬一可能對搜索類似問題的用戶有所幫助。