安卓学习笔记25:常用控件 - 下拉列表
文章目录
- 零、学习目标
- 一、下拉列表概述
- 1、继承关系图
- 2、常用属性和方法
- 二、教学案例——选择测试科目
- (一)运行效果
- (二)涉及知识点
- (三)实现步骤
- 1、创建安卓应用【SelectSubject】
- 2、将背景图片拷贝到drawable目录
- 3、主布局资源文件activity_main.xml
- 4、字符串资源文件strings.xml
- 5、启动应用,查看效果
- 6、主界面类 - MainActivity
- 7、启动应用,查看效果
- 8、修改主布局资源文件 - activity_main.xml
- 9、修改主界面类 - MainActivity
- 10、启动应用,查看效果
- 三、课后作业
- 任务:选择系部与专业
零、学习目标
- 能说出下拉列表的基本用法
- 能利用下拉列表编写简单安卓应用
一、下拉列表概述
1、继承关系图
Spinner控件显示单列数据,因此只能在程序里采用数组适配器来建立数据源与下拉列表之间的关联。另外,有一种更简单的绑定数据源的方式,直接在布局文件里设置下拉列表元素的entries
属性来绑定数组作为数据源。
2、常用属性和方法
二、教学案例——选择测试科目
(一)运行效果
(二)涉及知识点
- 线性布局(LinearLayout)
- 标签(TextView)
- 数组适配器(ArrayAdapter)
- 吐司(Toast)
(三)实现步骤
1、创建安卓应用【SelectSubject】
2、将背景图片拷贝到drawable目录
3、主布局资源文件activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background"android:padding="15dp"android:orientation="horizontal"tools:context=".MainActivity"><TextViewandroid:id="@+id/tvTestSubject"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="#0000ff"android:textSize="25sp"android:text="@string/test_subject"/><Spinnerandroid:id="@+id/spTestSubject"android:layout_width="wrap_content"android:layout_height="wrap_content"android:entries="@array/subjects"/>
</LinearLayout>
4、字符串资源文件strings.xml
<resources><string name="app_name">下拉列表 - 选择测试科目</string><string name="test_subject">测试科目:</string><string-array name="subjects"><item>安卓开发</item><item>Web开发</item><item>数据结构</item><item>网络技术</item><item>Python编程</item><item>形势与政策</item></string-array>
</resources>
5、启动应用,查看效果
- 通过下拉列表的entries属性绑定好了数据源,此时无须适配器也能看到下拉列表能展开列表项
6、主界面类 - MainActivity
- 声明变量
- 通过资源标识符获取控件实例
- 获取测试科目数组
- 给下拉列表注册监听器
7、启动应用,查看效果
上面, 我们没有采用适配器来绑定数据源,直接利用下拉列表的entries属性来绑定字符串资源文件里定义的字符串数组。其实,我们也可以采用数组适配器来绑定数据源。
8、修改主布局资源文件 - activity_main.xml
- 不给下拉列表设置entries属性
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background"android:orientation="horizontal"android:padding="15dp"tools:context=".MainActivity"><TextViewandroid:id="@+id/tvTestSubject"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/test_subject"android:textColor="#0000ff"android:textSize="16sp" /><Spinnerandroid:id="@+id/spTestSubject"android:layout_width="wrap_content"android:layout_height="wrap_content" />
</LinearLayout>
9、修改主界面类 - MainActivity
10、启动应用,查看效果
三、课后作业
任务:选择系部与专业
- 编写程序实现选系部与选专业的功能,要求系部下拉列表与专业下拉列表要关联,也就是说,选择了某个系部,专业下拉列表只能显示该系部的专业。
- 单击【确定】按钮,通过吐司显示用户设置的信息;单击【退出】,关闭程序。
安卓学习笔记25:常用控件 - 下拉列表相关推荐
- Qt学习笔记之常用控件QlistWidget
一.QListWidget Class The QListWidget class provides an item-based list widget. More... Header: #inclu ...
- 【MFC】学习笔记:常用控件之组合框(Combo Box)
01.目录 目录 01.目录 02.控件介绍 03.控件的消息通知函数 04.创建组合框控件及成员函数介绍 4.1 组合框的创建 4.2 CComboBox类的主要成员函数 05.应用实例 06.总结 ...
- Qt学习笔记之常用控件QTreeWidget
一.QTreeWidget Class The QTreeWidget class provides a tree view that uses a predefined tree model. Mo ...
- 安卓基础学习 Day 6|常用控件---列表视图+古诗查看
目录 列表视图4要素 四种是适配器 古诗查看 古诗列表 1.主布局资源文件 2.诗歌列表项模板 3.字符串资源文件 4.主界面代码 5.启动应用.查看效果 古诗内容模板 1.内容模板的主布局资源文件 ...
- vs2010 学习Silverlight学习笔记(7):控件样式与模板
概要: 终于知道Silverlight--App.xaml是干什么用的了,不仅可以用来封装样式(类似css),还可以制定控件模版...好强大的功能啊. 封装: 继续学习<一步一步学Silverl ...
- JavaFX 学习笔记——窗口与控件
前言 如今比较流行的桌面gui框架有WPF.WinForm.Qt.javafx等.其中WPF和WinForm目前还只能在运行Winsows上.Qt(widget)是一个很强大的跨平台C++框架(不只是 ...
- vb.net listview 删除选定行_VBA学习笔记59-1: listview控件
学习资源:<Excel VBA从入门到进阶>第59集 by兰色幻想 本节学习Listview控件,它可以用多种视图方式显示项目的控件.由于其外形美观而且非常实用,所以使用频率很高. Lis ...
- ASP.NET 学习笔记_01 广告控件的使用
广告控件的使用: 广告文件是一个XML文件,广告文件中所有的标签属性被分析后放到adProperties字典中,用以属性编辑. ads.xml 1 <?xml version="1.0 ...
- kendo treeview 修改节点显示值_VBA学习笔记60-1: Treeview控件
学习资源:<Excel VBA从入门到进阶>第60集 by兰色幻想 本节讲Treeview控件. TreeView控件是以树形结构显示数据的控件.利用TreeView控件,可以设计出树形结 ...
最新文章
- python 类和对象 atm_Python 类和对象
- 用Scikit-learn和TensorFlow进行机器学习(一)
- CRM的使用是讲究技巧的
- [react] 你阅读了几遍React的源码?都有哪些收获?你是怎么阅读的?
- ubuntu16.04 虚拟机装机后常用操作
- 记录 || 雨后王母山仙境
- NWT失败反省:一下子买1万个用户许可,全浪费了
- C#-WinForm-打印控件
- 计算机错误代码0x 00000006,什么原因造成了蓝屏 电脑蓝屏错误代码介绍
- 扩增子图表解读2散点图:组间整体差异分析(Beta多样性)
- 关于软件开发的那些事(二):聊聊协同打单的一些心得体会
- NFT 的潜力:扩展的艺术品鉴定证书
- iOS 开发之使用苹果测试工具 TestFlight (进行内部和外部测试)
- 食品超声波设备的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- registrar计算机词汇,HR常用短语英语词汇表(转载)
- 第世界上第一代电子计算机,第一代电子计算机
- netty解决TCP粘包/拆包导致的半包读写问题的三种方案
- 网易教程python_15行Python代码实现网易云热门歌单实例教程
- Cocos-2d 游戏进度条
- 留住人才,你需要强大的人才预测分析
热门文章
- 云图说 | 华为云GPU共享型AI容器,让你用得起,用得好,用的放心
- 实战解读丨Linux下实现高并发socket最大连接数的配置方法
- HTML5锤子官网,美国ESTWING 一体化锻造羊角锤 非常好用的锤子
- 华为鸿蒙怎么体验,华为鸿蒙 HarmonyOS 2.0 发布,教你如何升级体验
- java 动态网页_JavaWeb01-动态网页
- 状态空间模型中实际参数估计
- 【numpy】numpy.random.uniform()函数
- 顶岗实习周记java方向_前途虽远,扶摇可接 | 商务日语专业顶岗实习动员大会...
- 使用idea创建项目的步骤
- Python练习:恺撒密码 I