簡體   English   中英

Android Spinner - 如何使下拉視圖透明?

[英]Android Spinner - How to make dropdown view transparent?

我在/ res / layout /中有一個自定義的微調器下拉xml文件:

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"

不幸的是,無論我將背景設置為透明,旋轉器彈出窗口上仍然存在白色背景。

我該如何解決?

您可以通過在應用中使用繼承自其中一個Android主題的主題來覆蓋下拉列表的樣式和下拉項,然后覆蓋

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

Android中的所有內容都是可自定義的,您只需要知道在哪里查看。 ;-)

嘗試在微調器上設置:

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

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

話雖這么說,正確的問題是:你能為條目的父視圖(可能是列表)提供自定義布局嗎? 據我所知,不幸的是答案是否定的。

嘗試

android:cacheColorHint="#00000000" 

獲得透明度。

我不知道它是否適合你,但有一個帖子http://android-developers.blogspot.com/2009/01/why-is-my-list-black-android.html解釋了為什么它的移動部分列表以背景顏色顯示。

也許與你的微調器有同樣的問題。

這是我認為的1.5中的錯誤,請看這里

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

在1.6仿真器或設備中運行它,它仍然保持白色嗎?

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

有任何想法嗎。

PS當我以為我登錄時意外發布,有人知道如何擺脫匿名評論嗎? 也許管理員可以解決這個問題?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM