Android spinner 基本使用 背景设置 带箭头图片

1,387 阅读1分钟

spinner基本使用

写文章记录学习过的Android相关知识

xml文件写入Spinner

<Spinner
    android:id="@+id/spinner"
    android:layout_width="match_parent"
    android:layout_height="30dp"/>

加背景

  1. 在drawable下,新建xml文件,命名随意,我的是spinner_bg
<?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/ic_down1">
        </bitmap>
    </item>
</layer-list>

2.在spinner加入背景属性

android:background="@drawable/spinner_bg"

添加后spinner整体代码

<Spinner
    android:background="@drawable/spinner_bg"
    android:id="@+id/spinner"
    android:layout_width="match_parent"
    android:layout_height="30dp"/>

加入下拉数据

  1. 在values下 创建array.xml文件
  2. 文件中添加下拉数据
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="status">
        <item>spinner1</item>
        <item>spinner2</item>
    </string-array>

</resources>

3.在spinner加入属性,填入下拉框数据

android:entries="@array/status"

添加后spinner整体代码

<Spinner
    android:entries="@array/status"
    android:background="@drawable/spinner_bg"
    android:id="@+id/spinner"
    android:layout_width="match_parent"
    android:layout_height="30dp"/>

注意

如果是在drawable文件下自己创建图片的资源文件,选择图片中的第二个,(legacy only)这个

1678784759619_B4223B6B-C1B0-4b39-AEF2-44838969CF6F.png

整体效果

我这个箭头图片大了 但是大致效果是这样的

1678847546610.png

文章参考链接:

下面的链接写的更全,有其他问题建议参考

blog.csdn.net/ningchao328…

juejin.cn/post/711003…