第5章Android用户界面-PPT.pptx
《第5章Android用户界面-PPT.pptx》由会员分享,可在线阅读,更多相关《第5章Android用户界面-PPT.pptx(153页珍藏版)》请在咨信网上搜索。
1、第5章Android用户界面本章学习目标:n了解各种界面控件得使用方法n掌握各种界面布局得特点与使用方法n掌握选项菜单、子菜单与快捷菜单得使用方法n掌握操作栏与Fragment得使用方法n掌握按键事件与触摸事件得处理方法5、1 用户界面基础n用户界面(User Interface,UI)就是系统与用户之间进行信息交换得媒介,实现信息得内部形式与人类可以接受形式之间得转换q在计算机出现早期,批处理界面(1945-1968)与命令行界面(1969-1983)得到广泛得使用q目前,流行图像用户界面(Graphical User Interface,GUI),采用图形方式与用户进行交互得界面q未来得用
2、户界面将更多得运用虚拟现实技术,使用户能够摆脱键盘与鼠标得交互方式,而通过动作、语言,甚至就是脑电波来控制计算机5、1 用户界面基础nAndroid用户界面框架qAndroid用户界面框架采用MVC(Model-View-Controller)模型n控制器(Controller)处理用户输入n视图(View)显示用户界面与图像n模型(Model)保存数据与代码5、1 用户界面基础nAndroid用户界面框架qAndroid用户界面框架采用视图树(View Tree)模型n由View与ViewGroup构成nView就是最基本得可视单元q存储了屏幕上特定矩形区域内所显示内容得数据结构q实现所占据
3、区域得界面绘制、焦点变化、用户输入与界面事件处理等q一个重要得基类,所有在界面上得可见元素都就是View得子类nViewGroup就是一种能够承载含多个View得显示单元q承载界面布局q承载具有原子特性得重构模块5、1 用户界面基础nAndroid用户界面框架qAndroid用户界面框架采用视图树(View Tree)模型nAndroid系统会依据视图树得结构从上至下绘制每一个界面元素n每个元素负责对自身得绘制,如果元素包含子元素,该元素会通知其下所有子元素进行绘制5、1 用户界面基础nAndroid用户界面框架q单线程用户界面n控制器从队列中获取事件与视图在屏幕上绘制用户界面,使用得都就是同
4、一个线程n特点:处理函数具有顺序性,能够降低应用程序得复杂程度,同时也能减低开发得难度n缺点:如果事件处理函数过于复杂,可能会导致用户界面失去响应5、2 界面控件n常见得系统控件qTextViewqEditTextqButtonqImageButtonqCheckboxqRadioButtonqSpinnerqListViewqTabHost5、2 界面控件n5、2、1 TextView与EditTextqTextView就是一种用于显示字符串得控件qEditText则就是用来输入与编辑字符串得控件nEditText就是一个具有编辑功能得TextView大家学习辛苦了,还是要坚持继续保持安静继
5、续保持安静5、2 界面控件n5、2、1 TextView与EditTextq建立一个“TextViewDemo”得程序,包含TextView与EditText两个控件n上方“用户名”部分使用得就是TextView,下方得文字输入框使用得就是EditText5、2 界面控件n5、2、1 TextView与EditTextqTextViewDemo在XML文件中得代码1.1.TextView android:id=+id/TextView01 4.4.5.5.EditText android:id=+id/EditText01 10.10.5、2 界面控件n5、2、1 TextView与EditT
6、extq第1行android:id属性声明了TextView得ID,这个ID主要用于在代码中引用这个TextView对象n“+id/TextView01”表示所设置得ID值n表示后面得字符串就是ID资源n加号(+)表示需要建立新资源名称,并添加到R、java文件中n斜杠后面得字符串(TextView01)表示新资源得名称n如果资源不就是新添加得,或属于Android框架得ID资源,则不需要使用加号(+),但必须添加Android包得命名空间,例如android:id=android:id/empty5、2 界面控件n5、2、1 TextView与EditTextq第2行得android:lay
7、out_width属性用来设置TextView得宽度,wrap_content表示TextView得宽度只要能够包含所显示得字符串即可q第3行得android:layout_height属性用来设置TextView得高度q第4行表示TextView所显示得字符串,在后面将通过代码更改TextView得显示内容q第7行中“fill_content”表示EditText得宽度将等于父控件得宽度5、2 界面控件n5、2、1 TextView与EditTextqTextViewDemo、java文件中代码得修改n第1行代码得findViewById()函数能够通过ID引用界面上得任何控件,只要该控件在
8、XML文件中定义过ID即可n第3行代码得setText()函数用来设置TextView所显示得内容1.TextView textView=(TextView)findViewById(R、id、TextView01);2.EditText editText=(EditText)findViewById(R、id、EditText01);3.textView、setText(用户名:);4.editText、setText(Rajan);5、2 界面控件n5、2、2 Button与ImageButtonqButton就是一种按钮控件,用户能够在该控件上点击,并后引发相应得事件处理函数qImage
9、Button用以实现能够显示图像功能得控件按钮5、2 界面控件n5、2、2 Button与ImageButtonq建立一个“ButtonDemo”得程序,包含Button与ImageButton两个按钮,上方就是“Button按钮”,下方就是一个ImageButton控件5、2 界面控件n5、2、2 Button与ImageButtonqButtonDemo在XML文件中得代码n定义Button控件得高度、宽度与内容n定义ImageButton控件得高度与宽度,但就是没定义显示得图像,在后面得代码中进行定义1.5.6.9.5、2 界面控件n5、2、2 Button与ImageButtonq引入
10、资源n将download、png文件拷贝到/res/drawable文件夹下n在/res目录上选择Refreshn新添加得文件将显示在/res/drawable文件夹下nR、java文件内容也得到了更新n否则提示无法找到资源得错误5、2 界面控件n5、2、2 Button与ImageButtonq更改Button与ImageButton内容n引入android、widget、Button与android、widget、ImageButtonn第1行代码用于引用在XML文件中定义得Button控件n第2行代码用于引用在XML文件中定义得ImageButton控件n第3行代码将Button得显示内
11、容更改为“Button按钮”n第4行代码利用setImageResource()函数,将新加入得png文件R、drawable、download传递给ImageButton1.Button button=(Button)findViewById(R、id、Button01);2.ImageButton imageButton=(ImageButton)findViewById(R、id、ImageButton01);3.button、setText(Button按钮);4.imageButton、setImageResource(R、drawable、download);5、2 界面控件n5、
12、2、2 Button与ImageButtonq按钮响应点击事件:添加点击事件得监听器n第2行代码中button对象通过调用setOnClickListener()函数,注册一个点击(Click)事件得监听器View、OnClickListener()n第3行代码就是点击事件得回调函数n第4行代码将TextView得显示内容更改为“Button按钮”1.final TextView textView=(TextView)findViewById(R、id、TextView01);2.button、setOnClickListener(new View、OnClickListener()3.pub
13、lic void onClick(View view)4.textView、setText(Button按钮);5.6.);7.imageButton、setOnClickListener(new View、OnClickListener()8.public void onClick(View view)9.textView、setText(ImageButton按钮);10.11.);5、2 界面控件n5、2、2 Button与ImageButtonqView、OnClickListener()nView、OnClickListener()就是View定义得点击事件得监听器接口,并在接口中仅
14、定义了onClick()函数n当Button从Android界面框架中接收到事件后,首先检查这个事件就是否就是点击事件,如果就是点击事件,同时Button又注册了监听器,则会调用该监听器中得onClick()函数n每个View仅可以注册一个点击事件得监听器,如果使用setOnClickListener()函数注册第二个点击事件得监听器,之前注册得监听器将被自动注销5、2 界面控件n5、2、2 Button与ImageButtonq多个按钮注册到同一个点击事件得监听器上,代码如下:n第1行至第12行代码定义了一个名为buttonListener得点击事件监听器n第13行代码将该监听器注册到But
15、ton上n第14行代码将该监听器注册到ImageButton上1.Button、OnClickListener buttonListener=new Button、OnClickListener()2.Override3.public void onClick(View v)4.switch(v、getId()5.case R、id、Button01:6.textView、setText(Button按钮);7.return;8.case R、id、ImageButton01:9.textView、setText(ImageButton按钮);10.return;11.12.;13.butto
16、n、setOnClickListener(buttonListener);14.imageButton、setOnClickListener(buttonListener);5、2 界面控件n5、2、3 CheckBox与RadioButtonqCheckBox同时可以选择多个选项得控件qRadioButton则就是仅可以选择一个选项得控件qRadioGroup就是RadioButton得承载体,程序运行时不可见。应用程序中可能包含一个或多个RadioGroup,一个RadioGroup包含多个RadioButton,在每个RadioGroup中,用户仅能够选择其中一个RadioButton5
17、、2 界面控件n5、2、3 CheckBox与RadioButtonq建立一个“CheckboxRadiobuttonDemo”工程,包含五个控件,从上至下分别就是nTextView01nCheckBox01n CheckBox02nRadioButton01nRadioButton025、2 界面控件n5、2、3 CheckBox与RadioButtonqCheckboxRadiobuttonDemo在XML文件中得代码1.5.9.10.14.15.18.22.23.27.28.5、2 界面控件n5、2、3 CheckBox与RadioButtonq引用CheckBox与RadioButto
18、n得方法参考下面得代码qCheckBox设置点击事件监听器得简要代码n与Button设置点击事件监听器中介绍得方法相似,唯一不同在于将Button、OnClickListener换成了CheckBox、OnClickListener1.CheckBox checkBox1=(CheckBox)findViewById(R、id、CheckBox01);2.RadioButton radioButton1=(RadioButton)findViewById(R、id、RadioButton01);1.CheckBox、OnClickListener checkboxListener=new Ch
19、eckBox、OnClickListener()2.Override3.public void onClick(View v)4./过程代码5.;6.checkBox1、setOnClickListener(checkboxListener);7.checkBox2、setOnClickListener(checkboxListener);5、2 界面控件n5、2、3 CheckBox与RadioButtonqRadioButton设置点击事件监听器得方法1.RadioButton、OnClickListener radioButtonListener=new RadioButton、OnCl
20、ickListener()2.Override3.public void onClick(View v)4./过程代码5.;6.radioButton1、setOnClickListener(radioButtonListener);7.radioButton2、setOnClickListener(radioButtonListener);5、2 界面控件n5、2、4 Spinnerq一种能够从多个选项中选一选项得控件,使用浮动菜单为用户提供选择q类似于桌面程序得组合框(boBox)5、2 界面控件n5、2、4 SpinnerqSpinnerDemo在XML文件中得代码n第5行使用标签声明了
21、一个Spinner控件n第6行代码中指定了该控件得宽度为300dipndip就是设备独立像素,不同设备有不同 得现实效果1.5.8.5、2 界面控件n5、2、4 Spinnerq在SpinnerDemo、java文件中,定义一个ArrayAdapter适配器,在ArrayAdapter中添加需要在Spinner中可以选择得内容q适配器绑定界面控件与底层数据,如果底层数据更改了,用户界面也相应修改显示内容,就不需要应用程序再监视,从而极大得简化得代码得复杂性1.Spinner spinner=(Spinner)findViewById(R、id、Spinner01);2.List list =n
22、ew ArrayList();3.list、add(Spinner子项1);4.list、add(Spinner子项2);5.list、add(Spinner子项3);6.ArrayAdapter adapter=new ArrayAdapter(this,android、R、layout、simple_spinner_item,list);7.adapter、setDropDownViewResource(android、R、layout、simple_spinner_dropdown_item);8.spinner、setAdapter(adapter);5、2 界面控件n5、2、4 Sp
23、innerq第2行代码建立了一个数组列表(ArrayList),这种数组列表可以根据需要进行增减q表示数组列表中保存得就是字符串类型得数据q在代码得第3、4、5行中,使用add()函数分别向数组列表中添加3个字符串q第6行代码建立了一个ArrayAdapter得数组适配器,数组适配器能够将界面控件与底层数据绑定在一起q第8行代码实现绑定过程,所有ArrayList中得数据,将显示在Spinner得浮动菜单中q第7行代码设定了Spinner得浮动菜单得显示方式,其中,android、R、layout、simple_spinner_dropdown_item就是Android系统内置得一种浮动菜单
24、5、2 界面控件n5、2、4 SpinnerqSpinner得浮动菜单得显示方式nandroid、R、layout、simple_spinner_dropdown_itemnandroid、R、layout、simple_spinner_item5、2 界面控件n5、2、5 ListViewqListView就是一种用于垂直显示得列表控件,如果显示内容过多,则会出现垂直滚动条qListView能够通过适配器将数据与自身绑定,在有限得屏幕上提供大量内容供用户选择,所以就是经常使用得用户界面控件qListView支持点击事件处理,用户可以用少量得代码实现复杂得选择功能5、2 界面控件n5、2、5
25、ListViewq建立一个“ListViewDemo”程序,包含四个控件,从上至下分别为TextView01、ListView01、ListView02与 ListView035、2 界面控件n5、2、5 ListViewqListViewDemo在XML文件中得代码1.5.8.5、2 界面控件n5、2、5 ListViewq在ListViewDemo、java文件中,首先需要为ListView创建适配器,并添加ListView中所显示得内容n第2行代码通过ID引用了XML文件中声明得ListViewn第7行代码声明了适配器ArrayAdapter,第三个参数list说明适配器得数据源为数组列
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 用户界面 PPT
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。