2009-12-16 64 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