android - 如何在带有背景的微调器中设置下拉箭头?

标签 android xml android-spinner android-drawable

我有黑色背景的下拉菜单,微调器的蓝色轮廓,如何在下拉菜单中放置箭头图像?

我正在使用

android:background="@android:drawable/btn_dropdown"

但这会删除我当前的背景,即带有蓝色轮廓的黑色背景。为此,我正在使用可绘制对象

<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape= "rectangle"  >
    <solid android:color="#000000"/>
    <stroke android:width="2dp"  android:color="#405999"/>
</shape>

最佳答案

你可以试试这个,

在drawable文件夹中创建spinner_bg.xml文件,然后复制粘贴以下内容

spinner_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item><layer-list>
            <item><shape>
                    <gradient android:angle="90" android:endColor="#ffffff" android:startColor="#ffffff" android:type="linear" />

                    <stroke android:width="1dp" android:color="#504a4b" />

                    <corners android:radius="5dp" />

                    <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
                </shape></item>
            <item ><bitmap android:gravity="bottom|right" android:src="@drawable/spinner_ab_default_holo_dark_am" />
            </item>
        </layer-list></item>

</selector>  

values 文件夹和 styles.xml 中,添加这些行

<style name="spinner_style" >
            <item name="android:background">@drawable/spinner_bg</item>
            <item name="android:layout_marginLeft">10dp</item>
            <item name="android:layout_marginRight">10dp</item>
            <item name="android:layout_marginBottom">10dp</item>
            <item name="android:paddingLeft">8dp</item>
            <item name="android:paddingTop">5dp</item>
            <item name="android:paddingBottom">5dp</item>

        </style>

将此样式添加到 xml 文件中的微调器

       <Spinner
            android:id="@+id/spinner1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/spinner_style"
            android:popupBackground="#cccccc" />

关于android - 如何在带有背景的微调器中设置下拉箭头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25602079/

相关文章:

c# - 在 C# 中将图片编码为 Byte[]

android - 如何根据应用程序自动更改我的移动键盘?

c# - 如何更改默认的 ASP.NET MVC Web API 媒体格式化程序?

XML Twig 不会缩进新添加的元素?

android - 在微调器上设置背景时将微调器文本向左对齐

java - Android - 后退按钮导致问题

android - 自己定义的 Layout , onDraw() 方法没有被调用

javascript - 检查 React Native 中是否始终启用位置服务(iOS 和 Android 均如此)

android - 将 Glide 图像更新到 ImageView

安卓多微调器