第二章: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属性 | 
