Android Spinner

1. Spinner

Spinner是下拉列表,如图3-14所示,通常用于为用户提供选择输入。Spinner有一个重要的属性:spinnerMode,它有2种情况:

  1. 属性值为dropdown时,表示Spinner的数据下拉展示,如图1(a)所示.
  2. 属性值为dialog时,表示Spinner的数据为弹窗展示,如图1(b)所示。

spinnerMode的默认值为dropdown,即下拉展示。

图1 Spinner效果图

Spinner展示的数据可以分为静态数据和动态数据2种,静态数据可以以<string-array>元素的形式存放在string.xml,示例代码如下:

复制代码
<resources>
    <string name="app_name">SpinnerTest</string>
    <string-array name="spinner_list">
        <item>请选择</item>
        <item>Android</item>
        <item>Java</item>
        <item>Python</item>
        <item>单片机</item>
        <item>嵌入式系统</item>
    </string-array>
</resources>

动态数据可以以List的方式存放,可以来着数据库或网络接口。

不管是静态数据还是动态数据,都需要通过适配器Adapter将数据与Spinner控件适配起来才可以在界面上显示。简言之,适配器Adapter就是数据和控件之间的桥梁纽带。由于Spinner数据一般为字符串数组,因此一般使用ArrayAdapter作为Spinner的适配器。

Spinner还有几个重要的方法,见表1。

表1 Spinner的常用方法

|-----------------------------------------------------------------|-------------------|
| 方法名 | 作用 |
| void setDropDownViewResource(@LayoutRes int resource) | 设置下拉列表中选项的显示效果布局 |
| void setAdapter(SpinnerAdapter adapter) | 设置Spinner的数据适配器 |
| void setSelection(int position) | 设置被选中item的postion |
| void setOnItemSelectedListener(OnItemSelectedListener listener) | 设置被选中后的监听事件 |
| Object getSelectedItem() | 获取被选中的item |

相关推荐
踢球的打工仔1 小时前
typescript-接口的基本使用(一)
android·javascript·typescript
2501_915918412 小时前
如何在iPad上找到并打开文件夹的完整指南
android·ios·小程序·uni-app·iphone·webview·ipad
臻一4 小时前
rk3576+安卓14---uboot
android
2501_944521594 小时前
Flutter for OpenHarmony 微动漫App实战:主题配置实现
android·开发语言·前端·javascript·flutter·ecmascript
2501_944521595 小时前
Flutter for OpenHarmony 微动漫App实战:动漫卡片组件实现
android·开发语言·javascript·flutter·ecmascript
知1而N6 小时前
电脑上运行APK文件(Android应用程序包),需要借助特定的软件或功能,因为Windows/macOS/Linux系统无法原生直接运行安卓应用
android·macos·电脑
代码s贝多芬的音符6 小时前
HttpURLConnection post多个参数和一个图片
android·httpurlconn
草莓熊Lotso6 小时前
Qt 控件美化与交互进阶:透明度、光标、字体与 QSS 实战
android·java·开发语言·c++·人工智能·git·qt
氦客7 小时前
Android Compose : 解决列表滑动导致BottomSheet异常消失的问题
android·compose·滑动·lazygrid·bottomsheet·lazycolumn·异常消失
代码s贝多芬的音符7 小时前
android 相机人脸检测 人脸识别 画人脸边框 识别成功保存图片 mlkit 机器学习
android·数码相机·机器学习