第二章:Android常用UI控件

1、介绍:

控件是界面组成的主要元素,界面中的控件有序排放和完美组合,便可在用户眼前呈现出丰富多彩的页面。

2、常用控件:

一、TextView控件:

在使用手机时,经常会看见一些文本信息,这些文本信息通常是由TextView控件显示

的。

常用属性:

属性 功能描述
android:id 控件的唯一标识ID
android:layout_width 控件的宽度
android:layout_height 控件的高度
android:text 显示的内容
android:textColor 文本颜色
android_textSize 字体大小
android:singleLine 是否单行显示
android:gravity 文本的对齐方式
android:layout_gravity 控件的对齐方式

常用方法:

方法 功能描述
setText((CharSequence text)) 设定控件显示内容
getText() 获得控件的显示文本
setTextSize() 设置显示字体的大小
serTextColor() 设置显示字体的颜色

二、EditText控件:

是程序用于和用户进行交互的另一个重要控件,它允许用户在空间里输入和编辑内容,并可以在程序中对这些内容进行处理。

常用属性:

属性 功能描述
android:hint 提示编辑框中药输入的内容
android:lines 输入内容的行数
android:maxLines 最大行数
android:minLines 最小行数
android:inputType 指定当前文本框显示内容的文本类型
android:textSize 文字大小

常用方法:

方法 功能描述
getText() 获取EditText控件中输入的信息
setText((CharSequence text)) 设定输入的内容
setTextSize() 设置输入文字的大小
setTextColor() 设置输入文字的颜色

三、Button控件:

Button是程序开发中必不可少的一个控件,其作用是用于响应用户的一系列单击事件,使程序更加流畅和完整。

常用的两种单击事件:

1)使用匿名内部类方式

2)采用实现OnClickListener接口方式

四、ImageView控件:

用于在界面上展示图片的一个控件,它可以让程序界面变得更加丰富多彩。

常用属性:

属性 功能描述
android:src 给ImageView控件指定一张图片

常用方法:

方法 功能描述
setImageResource() 给控件设置图片但不改变背景色
setBackgroundResource() 改变控件的背景色

五、DatePicker控件:

是Android中的日期选择控件,可以通过设置属性来确定日期选择范围,也可以通过定义好的方法获取到当前选中的时间,并且在修改日期的时候,有相应的事件对其进行响应。

常用属性:

属性 功能描述
android:calendarViewShown 是否显示日历
android:startYear 设置可选开始年份
android:endYear 设置可选结束年份
android:maxDate 设置可选最大日期
android:minDate 设置可选最小日期

常用方法:

方法 功能描述
intgetYear() 获取当前控件选择的年份
intgetMonth() 获得当前控件选择的月份(0~11)
intgetDayOfMonth() 获得当前控件选择的日

3、App之间的通信:

在Android系统中,每个应用程序通常都由多个界面组成,每个界面就是一个activity,在这些界面进行跳转时,实际上也就是activity之间的跳转。activity之间的跳转需要用到Intent(意图)组件,通过intent可以开启新的activity实现界面跳转功能。

Intent被称为意图,是程序中各组件进行交互的一种重要方式,它不仅可以指定当前组件要执行的动作,还可以在不同组件之间进行数据传递。

Intent被分为两类:显式意图和隐式意图

一、显式Intent:

①、基本语法:

方法 功能描述
Intent((Context packageContext,Class <?> cls)) 创建一个Intent对象,明确Intent跳转时的源activity和目标activity
startActivity(intent) 启动目标组件,根据intent启动某个Activity

②向下一个页面传递数据:

方法 功能描述
putExtra(String name,String value) 传递字符串类型的数据
putExtra(String name,int value) 传递整型的数据
putExtra(String name,boolean value) 传递布尔型的数据
putExtra(String name,Serializable value) 传递序列化的对象

③下一个页面接收数据:

方法 功能描述
getStringExtra(String name) 接收字符串类型的数据
getIntExtra(String name,int defaultValue) 接收整型的数据
getBooleanExtra(String name,boolean defaultValue) 接收布尔类型的数据
getSerializableExtra(String name) 接收序列化的对象

二、隐式Intent:

相比于显式Intent,隐式Intent则含蓄了很多,它并不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action和category等信息,然后交由系统去分析这个Intent,并帮我们找出合适的活动去启动。

①基本用法:

方法 功能描述
Intent.setAction(String action) 设置action属性
Intent.setData(String data) 设置Data属性
Intent.setType(String type) 设置Type属性
Intent.putExtras(Bundle bundle) 设置Extra属性
相关推荐
一定要AK7 小时前
Spring 入门核心笔记
java·笔记·spring
A__tao7 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
SharpCJ7 小时前
Android 开发者为什么必须掌握 AI 能力?端侧视角下的技术变革
android·ai·aigc
KevinCyao7 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
小小工匠7 小时前
LLM - awesome-design-md 从 DESIGN.md 到“可对话的设计系统”:用纯文本驱动 AI 生成一致 UI 的新范式
人工智能·ui
迷藏4947 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
_李小白7 小时前
【OSG学习笔记】Day 38: TextureVisitor(纹理访问器)
android·笔记·学习
JJay.8 小时前
Kotlin 高阶函数学习指南
android·开发语言·kotlin
jinanwuhuaguo8 小时前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin
wuxinyan1238 小时前
Java面试题47:一文深入了解Nginx
java·nginx·面试题