android应用开发教程 教学课件 ppt 作者 罗文 第三章教学课件

上传人:繁星 文档编号:88247090 上传时间:2019-04-22 格式:PPT 页数:44 大小:2.71MB
返回 下载 相关 举报
android应用开发教程 教学课件 ppt 作者 罗文 第三章教学课件_第1页
第1页 / 共44页
android应用开发教程 教学课件 ppt 作者 罗文 第三章教学课件_第2页
第2页 / 共44页
android应用开发教程 教学课件 ppt 作者 罗文 第三章教学课件_第3页
第3页 / 共44页
android应用开发教程 教学课件 ppt 作者 罗文 第三章教学课件_第4页
第4页 / 共44页
android应用开发教程 教学课件 ppt 作者 罗文 第三章教学课件_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《android应用开发教程 教学课件 ppt 作者 罗文 第三章教学课件》由会员分享,可在线阅读,更多相关《android应用开发教程 教学课件 ppt 作者 罗文 第三章教学课件(44页珍藏版)》请在金锄头文库上搜索。

1、第3章 界面设计,Android应用开发教程,黑龙江,吉林,山东,西藏,新疆,浙江,台湾,课堂引入,问题:Android程序的界面如何设计? 常见的界面组件有哪些? 这些组建该如何工作?,程序界面如何布局? 如何进行人机对话? Android的事件响应机制如何?,学习内容,布局管理器,1,Android组建,2,事件处理,3,对话框,4,一、布局管理器,70代,现在,布局分类,线性布局管理器(LinearLayout) 相对布局管理器(RelativeLayout) 帧布局管理器(FrameLayout) 表格布局管理器(TableLayout) 绝对布局管理器(AbsoluteLayout)

2、 过时,1.线性布局 布局的orientation属性 垂直(vertical) 水平(horizontal)排列,一、布局管理器,2.相对布局 在此布局中的子元素所设置的与位置相关的属性将生效,例如android:layout_below、android:layout_above等,子元素通过这些属性和各自的ID配合指定位置关系。,一、布局管理器,3.帧布局 整个界面被当成一块空白备用区域,所有的子元素都不能指定位置属性,它们统统放于这块区域的左上角,依据帧布局的gravity属性执行自动对齐,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。,一、布局管理器,4.表

3、格布局 表格布局(TableLayout)适用于M行N列的布局格式。 一个TableLayout中可以添加多个 标记,一个TableRow就代表TableLayout中的一行。 TableRow也是容器,所以可以在该标记中添加其它组件,每添加一个组件,表格就会增加一列。,一、布局管理器,5.绝对布局 在此布局中的子元素所设置的与位置相关的属性绝对布局(AbsoluteLayout)是将其中的子元素的android:layout_x和android:layout_y属性生效,这两个属性用于描述该子元素的坐标位置。 屏幕左上角为坐标原点(0,0),第一个0代表横坐标,向右为正方向,第二个0代表纵坐

4、标,向下为正方向。 在此布局中的子元素可以相互重叠。 这种布局已被声明过期。,一、布局管理器,1.文本框组件(TextView) 可以显示单行文本 可以显示多行文本 可以显示带图像的文本,二、Android组件,二、Android组件,TextView tv=null; /创建一个空的TextView控件 tv=(TextView) findViewById(R.id.textView1); /通过id获取textView1控件 tv.setText(“Hello”); /修改textView1控件上显示的信息 通常情况下,前两句可以合并为一行: TextView tv=(TextView)

5、findViewById(R.id.textView1);,二、Android组件,2.输入框组件(EditText) 输入信息: 可以输入单行文本, 可输入多行文本, 可以输入指定格式的文本(如密码、电话号码、E-mail地址等)。 其继承自TextView,所以其大部分属性与TextView类似,几个较特殊的属性如表所示,二、Android组件,二、Android组件,二、Android组件,int i EditText et=(EditText) findViewById(R.id.editText1); i=Integer.parseInt(et.getText().toString(

6、);,3.按钮组件(Button) 按钮组件一般用作发布命令,单击命令后执行对应的程序,这个程序一般被称之为“单击事件响应程序”。,二、Android组件,二、Android组件,在Android中,一般首先为按钮注册单击监听事件,监视是否有单击事件发生于该按钮上,如果有,则去执行对应的单击事件响应程序。,为按钮绑定监听程序有两种方法,一种一般是在Activity的onCreate( )方法中完成,示例代码如下: Button bt=(Button)findViewById(R.id.button1); bt.setOnClickListener(new OnClickListener() O

7、verride public void onClick(View v) /这里安排处理代码 );,二、Android组件,另一种方式是在Activity中编写一个包含View类型参数并且将要触发的处理代码放在其中的方法,然后在布局文件中,给Button添加android:onClick属性指定对应的方法名。例如在Activity中编写一个方法如下: Public void myClick(View v) /这里安排处理代码 然后在布局文件中,给Button添加属性android:onClick=“myClick”实现给按钮添加监听器。,4.单选按钮/单选按钮组组件(RadioButton/Ra

8、dioGroup) 默认情况下单选按钮(RadioButton)一般呈现为一个圆形图标,旁边放置一些说明性文字。 使用时,多个单选按钮放在一组中,被称为“RadioGroup”。,二、Android组件,二、Android组件,- ,二、Android组件,对于单选按钮组而言,需要监听的是“选中的单选项目是否发生变化”这个事件,即:setOnCheckedChangeListener(),在onCreate( )方法中通过如下代码添加: RadioGroup rg=(RadioGroup)findViewById(R.id.radioGroup1); rg.setOnCheckedChange

9、Listener(new OnCheckedChangeListener() Override public void onCheckedChanged(RadioGroup group,int checkedID) /. .此处安排具体事件处理代码 );,5.复选框(CheckBox) 复选框(CheckBox)显示一个方块图标,在该图标旁边放置一些说明性文字。 复选框的使用与单选按钮类似,所不同的是单选按钮存在分组的情况,而复选框是独立操作的,可以多选。,二、Android组件,二、Android组件,由于复选框可以选中多项,所以为了确定用户是否选择了某一项,需要为每个选项按钮都添加事件监

10、听器。例如为checkBox1添加事件监听器代码如下: Final CheckBox ck=(CheckBox)findViewById(R.id.checkBox1); Ck.setOnCheckedChangedListener(new OnCheckedChangeListener() Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) /这里安排事件处理代码 ,6.图像视图(ImageView) 图像试图(ImageView)用于在界面中显示任何的Drawable对象,通

11、常用来显示图片。,二、Android组件,7.滚动视图(ScrollView) 滚动视图(ScrollView)用于为其它组件添加滚动条。,二、Android组件,8.日期/时间选择器(DatePicker/TimePicker) 为了让用户获取日期和事件,Android提供了日期、时间选择器。,二、Android组件,为了在程序中获取用户选择的日期、时间,还需要为组件添加事件监听器。其中DataPicker组件对应的事件监听器是OnDateChangedListener,TimePicker组件对应的事件监听器是OnTimeChangedListener,9.列表选择框(Spinner) 列

12、表选择框(Spinner)相当于Java中的下拉列表框,用于提供一系列可选择的列表项供用户选择,从而方便用户。,二、Android组件,10.列表视图(ListView) 列表视图(ListView)以垂直的形式列出需要显示的列表项。例,二、Android组件,1.事件监听处理机制 “基于回调机制的事件处理” “基于监听接口的事件处理” EventSource(事件源):事件发生的场所,通常为各个组件。 Event(事件):事件封装了界面组件上发生的特定事情,通常是用户的一次操作,可以通过Event对象取得具体信息。 EventListener(事件监听器):负责监听事件源发生的事情,并做出响

13、应。监听器是用来处理事件的对象,实现了特定的接口,根据事件不同重写不同的事件处理方法来响应事件。,三、事件处理,2.键盘事件 对于一个标准的Android设备,包含了多个能够触发事件的物理按键,三、事件处理,三、事件处理,Android中组件在处理物理按键事件是基于回调的事件处理机制,提供的回调方法有onKeyUp( )、onKeyDown( )、onKeyLongPress( ),在事件处理代码中,为区分按键设备,Android为每个按键定义了唯一编码,public class ForbiddenBackActivity extends Activity Override protected

14、 void onCreate(Bundle savedInstanceState) Super.onCreate(savedInstanceState); setContentView(R.layout.main); Override public boolean onKeyDown(int keyCode,KeyEvent event) If(keyCode=KeyEvent.KEYCODE_BACK) /这里放置屏幕后退键的处理代码 Return super.onKeyDown(keyCode,event); ,3.触摸事件,三、事件处理,public class ScreenTouchE

15、ventActivity extends Activity implements OnTouchListener Override protected void onCreate(Bundle savedInstanceState) Super.onCreate(savedInstanceState); this.setOnTouchListener(this); setContentView(R.layout.main); Override public boolean onTouch(View v,MotionEvent event) /这里放置屏幕触摸的处理代码 return true;

16、 ,4.重力感应事件 在Android的开发中一共有八种传感器: 加速度传感器(accelerometer) 陀螺仪传感器(gyroscope) 环境光照传感器(light) 磁力传感器(magnetic field) 方向传感器(orientation) 压力传感器(pressure) 距离传感器(proximity) 温度传感器(temperature),三、事件处理,android重力感应系统的坐标系,三、事件处理,首先,获得一个SensorManager对象。手机中的所有传感器都是通过SensorMannager来访问的,调用上下文的getSystemService(SENSOR_SERVICE)方法就可以获得当前手机的所有传感器管理对象。 然后,再通过这个manager来获得一个Sensor 的列表,其中Sensor.TYP

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号