我在/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 样式。我用这种方式创建了一个完全自定义的微调器,带有透明按钮和下拉菜单。当我为 Fandango 构建平板电脑应用程序时,我什至去掉了下拉列表分隔符,并为下拉项设置了自己的间距(看看应用程序主页上的排序电影微调器)。
Android 中的一切都是可定制的,您只需要知道在哪里寻找。 ;-)
关于java - Android Spinner - 如何使下拉 View 透明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1918468/