Android Studio Spinner自定义背景及右边下拉的图标

先上效果图:

 一、测试环境

1、Android SDK版本: Android 12.0(S)  Version31

2、Gradle版本: JDK11.0.13

二、在自己的android项目中实现

1、在drawable目录下新建spinner_border.xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 第一组item:设置Spinner背景边框 -->
    <item>
        <shape>
            <stroke
                android:width="1dp"
                android:color="#9ebdf1">
            </stroke>
            <corners android:radius="5dp" />
            <!-- 设置背景颜色 -->
            <solid android:color="#004686f2" />
            <padding
                android:bottom="5dp"
                android:left="5dp"
                android:right="5dp"
                android:top="5dp" >
            </padding>
        </shape>
    <!-- 第二组item:设置spinner箭头图片 -->
    </item>
    <item>
        <bitmap
            android:gravity="end"
            android:src="@drawable/spinner_more">
        </bitmap>
    </item>
</layer-list>

相信大家随便查找都能得到类似的代码,但是如何建立在自己的项目上却没那么容易,所以本次文章要说的关键是对于资源文件@drawable/spinner_more文件的由来,以及细节问题。

2、导入资源文件方便.xml引用

在drawable文件上右键,选择new-->Image Asset,如下图:

 打开Image Asset配置文件,如我下图进行选择:

注意:Padding基本跟图片缩放差不多,调整到适合自己控件大小的位置,请自行测试;

Name就是你在.xml文件中引用的名字,可自行修改;

完成后Next,Finished即可

三、项目中定义Spinner,直接使用     android:background="@drawable/spinner_border"
即可,如下:

<Spinner
     android:id="@+id/adb"
     android:layout_width="0dp"
     android:layout_height="42dp"
     android:background="@drawable/spinner_border"
     android:layout_weight="2"
     android:entries="@array/addressType"
     android:gravity="center"
     android:hapticFeedbackEnabled="false" />

代码源文件以及图片全部放在这里了:

AndroidStudio自定义Spinner背景图及代码文件-Android文档类资源-CSDN文库

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值