2009-12-16 34 views
11

我在/ RES定製微調下拉xml文件/佈局/:Android微調器 - 如何使下拉視圖透明?

spinner_view_dropdown.xml: 

<?xml version="1.0" encoding="UTF-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/spinner_item_dropdown" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@android:color/transparent" 
style="@style/spinner_item_dropdown" /> 

我通過Java設置微調下拉:

// "Spinner", aka breadcrumbs 
    Spinner spin = (Spinner) findViewById(R.id.breadcrumb_dropdown); 

    ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.breadcrumb, R.layout.spinner_view); 

    adapter.setDropDownViewResource(R.layout.spinner_view_dropdown); 

    spin.setAdapter(adapter); 
    // /"Spinner" 

不幸的是,在白色背景仍然存在於不管我是否將背景設置爲透明,都將彈出彈出框。

我該如何解決這個問題?

+0

您已設置背景透明,但是TextView的是在對話舉行,對話具有背景色。 – Blundell 2012-02-18 18:11:51

回答

29

可以覆蓋下拉風格,並通過使用你的應用程序一個主題,這從Android主題之一繼承下拉項目,然後覆蓋

android:dropDownSpinnerStyle,或android:spinnerDropDownItemStyle,甚至android:dropDownListViewStyle屬性指向您自己的自定義樣式,而不是在主題中定義的Android樣式。我以這種方式創建了一個完全自定義的微調,並帶有一個透明的按鈕和下拉菜單。我甚至擺脫了下拉列表分隔線,並在我爲Fandango構建平板電腦應用程序時,爲下拉項目設置了自己的間距(請參閱應用程序主頁上的排序電影微調器)。

Android中的一切都是可定製的,您只需知道在哪裏看。在此微調;-)

+3

你能舉一個例子怎麼做,你有什麼建議? – Junaid 2012-01-16 11:21:06

+0

@Junaid我認爲你最好學習文檔:http://developer.android.com/guide/topics/ui/themes.html – 2012-01-16 19:20:38

+3

Maaaaaaan!感謝那。但一個小例子仍然會有用:) – 2012-03-25 09:51:47

1

您定義的佈局僅用於您的下拉列表的條目,而不是下拉本身。所以將背景設置爲透明不會對其背景產生任何影響。但即使這樣做,將背景設置爲透明仍然沒有效果,因爲默認情況下,TextView(實際上我相信任何視圖)都具有透明背景。

這就是說,正確的問題是:你可以提供一個條目的父視圖(這可能是一個列表)的自定義佈局?據我所知,不幸的是答案是否定的。

+0

感謝您的回覆。令人困惑的是,Adobe的Photoshop Mobile似乎使用與用於編輯圖像的圖標綁定的下拉系統。這是我試圖複製的效果,我假定它使用微調。 這是一個在應用程序中顯示這種效果的電影: http://blogs.adobe.com/rjacquez/2009/11/adobe_debuts_photoshopcom_mobi.html – iamkoa 2009-12-17 19:41:18

+1

也許他們使用自定義的PopupWindow? http://developer.android.com/reference/android/widget/PopupWindow.html – Matthias 2009-12-18 09:33:22

0

這是在1.5,我認爲一個bug,在這裏看到

http://www.symsource.com/index.php?view=article&id=418&option=com_content&format=pdf

來看,它在1.6模擬器或設備,它仍然留白?

我真的來到這裏尋找一種方法,我懷疑這可能涉及到手動寫入畫布或類似的東西。

任何想法。

P.S.無意中發佈了當我以爲我登錄時,任何人都知道如何擺脫匿名評論?也許管理員可以解決這個問題?

26

嘗試設置:

android:popupBackground="@android:color/transparent" 
+1

謝謝你!我用這個自定義顏色:android:popupBackground =「#0f0f0f」完美地工作 – Jakob 2012-11-17 17:04:13