Android应用开发教程 罗文 第三章教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Android应用开发教程》
第3章 界面设计
课堂引入
问题:Android程序的界面如何设计? 常见的界面组件有哪些? 这些组建该如何工作?
新疆
程序界面如何布局? 如何进行人机对话? Android的事件响应机制如何? 山东
西藏
黑龙江 吉林
百度文库浙江
学习内容
1 2 3 4
布局管理器 Android组建 事件处理 对话框
<LinearLayout
xmlns:android="http://schemas.android.c om/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center">
Public void myClick(View v){ //这里安排处理代码
}
然后在布局文件中,给Button添加属性 android:onClick=“myClick”实现给按钮添加监听器 。
二、Android组件
4.单选按钮/单选按钮组组件 (RadioButton/RadioGroup)
•默认情况下单选按钮(RadioButton)一般呈现 为一个圆形图标,旁边放置一些说明性文字。 •使用时,多个单选按钮放在一组中,被称为 “RadioGroup”。
二、Android组件
TextView tv=null; //创建一个空的TextView控件 tv=(TextView) findViewById(R.id.textView1); //通过id获 取textView1控件 tv.setText(“Hello”); //修改textView1控件上显示的信息
});
二、Android组件
5.复选框(CheckBox)
•复选框(CheckBox)显示一个方块图标,在该 图标旁边放置一些说明性文字。 •复选框的使用与单选按钮类似,所不同的是单选 按钮存在分组的情况,而复选框是独立操作的, 可以多选。
<CheckBox android2:id="@+id/checkBox1" android2:layout_width="wrap_content" android2:layout_height="wrap_content" android2:text="CheckBox" />
二、Android组件
<RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton" /> -----------------------------------------------<RadioGroup
功能
控件的ID,程序通过这个ID访问该控件 显示的文本
当文本框内文本为空时,默认显示的提示文本
显示内容的文本类型,取值textPassword、textEmailAddress、phone、 date等 是否单行显示
宽度,取值fill_parent、wrap_content、match_parent或具体数值(单位: dp) 宽度,取值为数值(单位一般为dp) 高度,取值fill_parent、wrap_content、match_parent或具体数值(单位: dp) 高度,取值为数值(单位一般为dp) 颜色
•按钮组件一般用作发布命令,单击命令后执行对 应的程序,这个程序一般被称之为“单击事件响 应程序”。
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
二、Android组件
由于复选框可以选中多项,所以为了确定用户是否选择了某一项,需要为 每个选项按钮都添加事件监听器。例如为checkBox1添加事件监听器代码如 下:
Final CheckBox ck=(CheckBox)findViewById(R.id.checkBox1); Ck.setOnCheckedChangedListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
二、Android组件
2.输入框组件(EditText)
•输入信息: •可以输入单行文本, •可输入多行文本,
•可以输入指定格式的文本(如密码、电话号 码、E-mail地址等)。 •其继承自TextView,所以其大部分属性与 TextView类似,几个较特殊的属性如表所示
属性 hint numeric dgits ems
大小,单位一般为sp 显示效果,取值normal(正常)、bold(粗体)或italic(倾斜) 敏感文字是否显示为链接形式,取值none、web、email、phone、map或
all 设置文本对齐方式。
在文本的下方输出一个drawable,如图片。如果指定一个颜色的话会把文 本的背景设为该颜色,并且同时和background使用时覆盖后者。 在文本的左边输出一个drawable,如图片。 在文本的右边输出一个drawable。 在文本的顶端输出一个drawable。
</LinearLayout>
一、布局管理器
2.相对布局
•在此布局中的子元素所设置的与位置相关的属性 将生效,例如android:layout_below、 android:layout_above等,子元素通过这些属性和 各自的ID配合指定位置关系。
一、布局管理器
3.帧布局
•整个界面被当成一块空白备用区域,所有的子元 素都不能指定位置属性,它们统统放于这块区域 的左上角,依据帧布局的gravity属性执行自动对 齐,并且后面的子元素直接覆盖在前面的子元素 之上,将前面的子元素部分和全部遮挡。
通常情况下,前两句可以合并为一行:
TextView tv=(TextView) findViewById(R.id.textView1);
二、Android组件
属性名称 android:id android:text android:hint
android:inputType
android:singleLine
</EditText>
二、Android组件
int i EditText et=(EditText) findViewById(R.id.editText1); i=Integer.parseInt(et.getText().toString());
二、Android组件
3.按钮组件(Button)
一、布局管理器
5.绝对布局
•在此布局中的子元素所设置的与位置相关的属性 绝对布局(AbsoluteLayout)是将其中的子元素 的android:layout_x和android:layout_y属性生效 ,这两个属性用于描述该子元素的坐标位置。 •屏幕左上角为坐标原点(0,0),第一个0代表横 坐标,向右为正方向,第二个0代表纵坐标,向下 为正方向。 •在此布局中的子元素可以相互重叠。 •这种布局已被声明过期。
android:layout_width
android:width
android:layout_height
android:height android:textColor android:textSize android:textStyle
android:autoLink
android:gravity android:drawableBotto m android:drawableLeft android:drawableRight android:drawableTop
二、Android组件
1.文本框组件(TextView)
•可以显示单行文本 •可以显示多行文本 •可以显示带图像的文本
<TextView android:id="@+id/textView1" style="@style/text_view_style" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/zhang_name" />
一、布局管理器
4.表格布局
•表格布局(TableLayout)适用于M行N列的布局 格式。 •一个TableLayout中可以添加多个 <TableRow>标 记,一个TableRow就代表TableLayout中的一行 。 •TableRow也是容器,所以可以在该标记中添加 其它组件,每添加一个组件,表格就会增加一列 。
@Override public void onClick(View v) {
//这里安排处理代码 } } );
二、Android组件
另一种方式是在Activity中编写一个包含View类型参 数并且将要触发的处理代码放在其中的方法,然后在布 局文件中,给Button添加android:onClick属性指定 对应的方法名。例如在Activity中编写一个方法如下:
描述 编辑框中提示信息,当输入信息后自动消失 只能输入数值类型的数据,可以取值integer(整数)或decimal(小数) 设定可以输入的数字符号,额可以取值“1234567890.+-*/% ()” 设置为一个整数n,设置控件的宽度为n个字符的宽度
二、Android组件
<EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:ems="10" android:inputType="number" > <requestFocus />
android2:id="RadioGroup1" android2:layout_width="wrap_content" android2:layout_height="match_parent" android2:orientation="horizontal" > <!-- 这里放置多个RadioButton -->
</RadioGroup>
二、Android组件
对于单选按钮组而言,需要监听的是“选中的单选项目是否发生变 化”这个事件,即:setOnCheckedChangeListener(),在 onCreate( )方法中通过如下代码添加:
RadioGroup rg=(RadioGroup)findViewById(R.id.radioGroup1); rg.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(RadioGroup group,int checkedID){ //... ...此处安排具体事件处理代码 }
二、Android组件
在Android中,一般首先为按钮注册单击监听事件, 监视是否有单击事件发生于该按钮上,如果有,则去 执行对应的单击事件响应程序。
为按钮绑定监听程序有两种方法,一种一般是在Activity 的onCreate( )方法中完成,示例代码如下:
Button bt=(Button)findViewById(R.id.button1); bt.setOnClickListener(new OnClickListener() {
一、布局管理器
布局分类
线性布局管理器(LinearLayout)
现在
相对布局管理器(RelativeLayout)
70代
帧布局管理器(FrameLayout)
表格布局管理器(TableLayout)
绝对布局管理器(AbsoluteLayout) 过时
一、布局管理器
1.线性布局
• 布局的orientation属性 垂直(vertical) 水平(horizontal)排列
第3章 界面设计
课堂引入
问题:Android程序的界面如何设计? 常见的界面组件有哪些? 这些组建该如何工作?
新疆
程序界面如何布局? 如何进行人机对话? Android的事件响应机制如何? 山东
西藏
黑龙江 吉林
百度文库浙江
学习内容
1 2 3 4
布局管理器 Android组建 事件处理 对话框
<LinearLayout
xmlns:android="http://schemas.android.c om/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center">
Public void myClick(View v){ //这里安排处理代码
}
然后在布局文件中,给Button添加属性 android:onClick=“myClick”实现给按钮添加监听器 。
二、Android组件
4.单选按钮/单选按钮组组件 (RadioButton/RadioGroup)
•默认情况下单选按钮(RadioButton)一般呈现 为一个圆形图标,旁边放置一些说明性文字。 •使用时,多个单选按钮放在一组中,被称为 “RadioGroup”。
二、Android组件
TextView tv=null; //创建一个空的TextView控件 tv=(TextView) findViewById(R.id.textView1); //通过id获 取textView1控件 tv.setText(“Hello”); //修改textView1控件上显示的信息
});
二、Android组件
5.复选框(CheckBox)
•复选框(CheckBox)显示一个方块图标,在该 图标旁边放置一些说明性文字。 •复选框的使用与单选按钮类似,所不同的是单选 按钮存在分组的情况,而复选框是独立操作的, 可以多选。
<CheckBox android2:id="@+id/checkBox1" android2:layout_width="wrap_content" android2:layout_height="wrap_content" android2:text="CheckBox" />
二、Android组件
<RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton" /> -----------------------------------------------<RadioGroup
功能
控件的ID,程序通过这个ID访问该控件 显示的文本
当文本框内文本为空时,默认显示的提示文本
显示内容的文本类型,取值textPassword、textEmailAddress、phone、 date等 是否单行显示
宽度,取值fill_parent、wrap_content、match_parent或具体数值(单位: dp) 宽度,取值为数值(单位一般为dp) 高度,取值fill_parent、wrap_content、match_parent或具体数值(单位: dp) 高度,取值为数值(单位一般为dp) 颜色
•按钮组件一般用作发布命令,单击命令后执行对 应的程序,这个程序一般被称之为“单击事件响 应程序”。
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
二、Android组件
由于复选框可以选中多项,所以为了确定用户是否选择了某一项,需要为 每个选项按钮都添加事件监听器。例如为checkBox1添加事件监听器代码如 下:
Final CheckBox ck=(CheckBox)findViewById(R.id.checkBox1); Ck.setOnCheckedChangedListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
二、Android组件
2.输入框组件(EditText)
•输入信息: •可以输入单行文本, •可输入多行文本,
•可以输入指定格式的文本(如密码、电话号 码、E-mail地址等)。 •其继承自TextView,所以其大部分属性与 TextView类似,几个较特殊的属性如表所示
属性 hint numeric dgits ems
大小,单位一般为sp 显示效果,取值normal(正常)、bold(粗体)或italic(倾斜) 敏感文字是否显示为链接形式,取值none、web、email、phone、map或
all 设置文本对齐方式。
在文本的下方输出一个drawable,如图片。如果指定一个颜色的话会把文 本的背景设为该颜色,并且同时和background使用时覆盖后者。 在文本的左边输出一个drawable,如图片。 在文本的右边输出一个drawable。 在文本的顶端输出一个drawable。
</LinearLayout>
一、布局管理器
2.相对布局
•在此布局中的子元素所设置的与位置相关的属性 将生效,例如android:layout_below、 android:layout_above等,子元素通过这些属性和 各自的ID配合指定位置关系。
一、布局管理器
3.帧布局
•整个界面被当成一块空白备用区域,所有的子元 素都不能指定位置属性,它们统统放于这块区域 的左上角,依据帧布局的gravity属性执行自动对 齐,并且后面的子元素直接覆盖在前面的子元素 之上,将前面的子元素部分和全部遮挡。
通常情况下,前两句可以合并为一行:
TextView tv=(TextView) findViewById(R.id.textView1);
二、Android组件
属性名称 android:id android:text android:hint
android:inputType
android:singleLine
</EditText>
二、Android组件
int i EditText et=(EditText) findViewById(R.id.editText1); i=Integer.parseInt(et.getText().toString());
二、Android组件
3.按钮组件(Button)
一、布局管理器
5.绝对布局
•在此布局中的子元素所设置的与位置相关的属性 绝对布局(AbsoluteLayout)是将其中的子元素 的android:layout_x和android:layout_y属性生效 ,这两个属性用于描述该子元素的坐标位置。 •屏幕左上角为坐标原点(0,0),第一个0代表横 坐标,向右为正方向,第二个0代表纵坐标,向下 为正方向。 •在此布局中的子元素可以相互重叠。 •这种布局已被声明过期。
android:layout_width
android:width
android:layout_height
android:height android:textColor android:textSize android:textStyle
android:autoLink
android:gravity android:drawableBotto m android:drawableLeft android:drawableRight android:drawableTop
二、Android组件
1.文本框组件(TextView)
•可以显示单行文本 •可以显示多行文本 •可以显示带图像的文本
<TextView android:id="@+id/textView1" style="@style/text_view_style" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/zhang_name" />
一、布局管理器
4.表格布局
•表格布局(TableLayout)适用于M行N列的布局 格式。 •一个TableLayout中可以添加多个 <TableRow>标 记,一个TableRow就代表TableLayout中的一行 。 •TableRow也是容器,所以可以在该标记中添加 其它组件,每添加一个组件,表格就会增加一列 。
@Override public void onClick(View v) {
//这里安排处理代码 } } );
二、Android组件
另一种方式是在Activity中编写一个包含View类型参 数并且将要触发的处理代码放在其中的方法,然后在布 局文件中,给Button添加android:onClick属性指定 对应的方法名。例如在Activity中编写一个方法如下:
描述 编辑框中提示信息,当输入信息后自动消失 只能输入数值类型的数据,可以取值integer(整数)或decimal(小数) 设定可以输入的数字符号,额可以取值“1234567890.+-*/% ()” 设置为一个整数n,设置控件的宽度为n个字符的宽度
二、Android组件
<EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:ems="10" android:inputType="number" > <requestFocus />
android2:id="RadioGroup1" android2:layout_width="wrap_content" android2:layout_height="match_parent" android2:orientation="horizontal" > <!-- 这里放置多个RadioButton -->
</RadioGroup>
二、Android组件
对于单选按钮组而言,需要监听的是“选中的单选项目是否发生变 化”这个事件,即:setOnCheckedChangeListener(),在 onCreate( )方法中通过如下代码添加:
RadioGroup rg=(RadioGroup)findViewById(R.id.radioGroup1); rg.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(RadioGroup group,int checkedID){ //... ...此处安排具体事件处理代码 }
二、Android组件
在Android中,一般首先为按钮注册单击监听事件, 监视是否有单击事件发生于该按钮上,如果有,则去 执行对应的单击事件响应程序。
为按钮绑定监听程序有两种方法,一种一般是在Activity 的onCreate( )方法中完成,示例代码如下:
Button bt=(Button)findViewById(R.id.button1); bt.setOnClickListener(new OnClickListener() {
一、布局管理器
布局分类
线性布局管理器(LinearLayout)
现在
相对布局管理器(RelativeLayout)
70代
帧布局管理器(FrameLayout)
表格布局管理器(TableLayout)
绝对布局管理器(AbsoluteLayout) 过时
一、布局管理器
1.线性布局
• 布局的orientation属性 垂直(vertical) 水平(horizontal)排列