java - Android Spinner - 如何使下拉 View 透明?

标签 java android android-widget spinner

我在/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/

相关文章:

java - 尝试在 T 数组中使用二分搜索方法递归查找数字时出现 StackOverflowError

android - 不同的 Facebook 应用程序使用相同的 key 哈希

android - Galaxy s3 和 AppWidgets : OnAppWidgetOptionsChanged min and max dimensions

android - 如何在android中将路径绘制到 Canvas 中?

安卓 FFMPEG : Could not execute the ffmpeg from Java code

安卓闹钟不兼容?

android - 图片来自网络-加载时间

java - 无法将自定义参数添加到 VTODO 组件的 STATUS 属性 (ical4j)

java - 在不添加一堆检查的情况下检查字符串是否不包含任何符号(java)

java - 如何设计Java应用程序?