Android控件详解

server/2024/9/23 10:30:22/

在Android应用程序中,界面由布局和组件组成。布局相当于框架,而控件则是框架里面的内容。了解过Android布局后,如果要设计ui界面,还需要了解和掌握各个控件的应用。

一个界面的设计,先从创建容器开始,再向容器中添加组件,最后形成一个ui界面。接下来介绍如何使用各个组件。

TextView文本框

TextView直接继承了View,还是EditText和Button两个UI组件类的父类。TextView的作用就是在界面上显示文字,在布局文件当中或者在Activity中修改文字的内容。

EditText输入框

EditText与TextView非常相似,许多XML属性都是共用的,最大区别就是EditText能够接受用户的输入。

EditText最重要属性是inputType,该属性相当于Html的<input…/>元素的type属性,可以将EditText设置为指定类型的输入组件,如账号、密码、手机号等。

还可以起到一个提示作用,提示用户当前文本框要输入的内容是什么。使用android:hint=“”来提示用户,当用户点击文本框时这些文字就会消失。

Button按钮

Button继承了TextView,是UI界面上生成的一个按钮,用户可以点击按钮,可以为按钮添加onClick事件(点击事件)。可以通过android:background为按钮设置背景或者自定义样式。Button的xml属性和TextView相似,大多数属性能够共用。

RadioButton单选按钮和CheckBox多选框

RadioButton和CheckBox都继承自Button类,可以直接使用Button支持的各种属性和方法。 RadioButton和CheckBox拥有选中功能,可以额外指定一个android:checked属性,用于指定RadioButton和CheckBox初始时是否被选中。

RadioButton和CheckBox之间的区别在于,一组RadioButton只能选中其中一个,RadioButton通常和RadioGroup一起使用,用于定义一组单选按钮。

ImageView图像视图

ImageView继承自View组件,主要用于显示图片。除此之外,ImageView还派生了ImageButton、ZoomButton等组件,所以ImageView支持的XML属性、方法,基本上也可以应用于ImageButton,ZoomButton等组件。

ProgressBar进度条

ProgressBar本身是进度条组件,同时它还派生了两个常用的组件:seekBar和RatingBar。ProgressBar及其子类十分相似,只是在显示上有一定的区别。

进度条用于向用户显示某个耗时操作完成的百分比。进度条还可以动态地显示进度,避免在长时间地执行某个耗时操作时,会让用户感觉程序失去了响应,显示执行进度,从而给用户更好的体验。

Adapter接口

Adapter本身只是一个接口,派生了ListAdapter和SpinnerAdapter两个子接口,其中ListAdapter为AbsListView提供列表项,SpinnerAdapter为AbsSpinner提供列表项。

Adapter常用的实现类有:ArrayAdapter、SimpleAdapter和BaseAdapter。

ArrayAdapter支持泛型操作,最简单,只能展示一行字。

SimpleAdapter有最好的扩充性,可以自定义出各种效果。

BaseAdapter有较高的灵活性,是一个抽象类,继承它需要实现较多的方法。

通常可以基于ArrayAdapter、SimpleAdapter、BaseAdapter创建ListView。

AdapterView及其子类

AdapterView也是一组很重要的组件,AdapterView本身是一个抽象基类,它所派生的子类在用法上十分相似,只是显示界面上有些区别。

AdapterView具有如下特征:AdapterView 继承了ViewGroup,本质上来说它是容器。AdapterView中包括多个“列表项”,并会以合适的方式显示出来,显示的多个“列表项”由Adapter提供。通常调用AdapterView的setAdapter(Adapter)方法设置Adapter。

ListView和ListActivity

ListView是一种使用非常广泛的组件,通常以垂直列表的形式显示其所有的列表项。

生成列表视图有如下两种方式:

1、直接使用ListView进行创建。

2、创建一个继承ListActivity的Activity(相当于设计该Activity显示的组件为ListView)

ps:使用ListView时,如果需要在程序中显示ListView内容,需要为ListView设置它要显示的列表项了。在这一点上,ListView显示出了AdapterView的特征:可以通过setAdapter(Adapter)方法为之提供Adapter,并由Adapter提供列表项即可。


http://www.ppmy.cn/server/100491.html

相关文章

水库大坝安全预警系统的作用

“汛情就是命令&#xff0c;防汛就是责任”&#xff0c;为了防治和减轻洪涝带来的危害&#xff0c;需要一种以预警为先导的临灾位移监测系统--水库大坝安全预警系统&#xff0c;对可能会出现的灾害进行实时远程监控&#xff0c;尽可能做到隐患早发现、早决策、早治理&#xff0…

C语言中10个字符串函数详解

目录 1.strlen 2.strcpy 3.strcat 4.strcmp 5.strncpy 6.strncat 7.strncmp 8.strstr 9.strtok 10.strerror 1.strlen 基本结构&#xff1a;size_t strlen(const char *str)&#xff1b;功能&#xff1a;用于计算字符串的长度&#xff1b;字符串已经 0作为结束标志…

性能测试工具之JMeter

JMeter Apache JMeter应用程序是开源软件,是一个100%纯Java应用程序,旨在负载测试功能行为和衡量性能。它最初是为测试Web应用程序而设计的,但后来扩展到其他测试功能。 JMeter是一个免费、开源、跨平台的性能测试工具,于20世纪90年代后期面世。这是一个成熟、健全且具有…

再谈表的约束

文章目录 自增长唯一键外键 自增长 auto_increment&#xff1a;当对应的字段&#xff0c;不给值&#xff0c;会自动的被系统触发&#xff0c;系统会从当前字段中已经有的最大值1操作&#xff0c;得到一个新的不同的值。通常和主键搭配使用&#xff0c;作为逻辑主键。 自增长的…

AI时代下的智慧体育, 用科技赋能体育创新

在科技飞速发展的今天&#xff0c;人工智能&#xff08;AI&#xff09;已成为推动各行各业创新的重要力量。体育&#xff0c;作为人类文明的重要组成部分&#xff0c;同样在AI的浪潮中迎来了新的变革机遇。AI时代下的智慧体育&#xff0c;不再局限于传统的运动模式&#xff0c;…

axios中的baseURL与跨域问题

axios中的baseURL 01. baseURL与跨域02. axios的baseurl为相对地址03. axios的baseURL是使用绝对路径还是相对路径04. API 请求跨域05. 生产环境代理问题我理解的baseURL 01. baseURL与跨域 三种模式配置&#xff1a; 开发环境 .env.development测试环境 .env.production生产…

简单回归问题实战

数据表&#xff1a;链接: https://pan.baidu.com/s/1sSz7F_yf_JeumXcP4EjE5g?pwd753f 提取码: 753f 核心流程&#xff1a; import numpy as np # 计算误差函数 points是数据集中数据的位置 def compute_error_for_line_given_points(b,w,points):totalError0for i in range(0…

书生实战营-入门导-L2-Git

任务一&#xff1a; fork仓库、添加文件、push文件、新建pr pr链接&#xff1a;git_1847_introduction by Whale-Yu Pull Request #1619 InternLM/Tutorial GitHub 任务二&#xff1a; 新建个人笔记仓库&#xff1a; 新建文件&#xff1a; 然后github新建一个仓库&#xf…