




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Android常用UI控件邮箱: 主讲人:老罗TextView主要是在android中实现文字说明等功能。主要实现功能如下:1、显示丰富的文本(URL、字体大小、颜色等)在TextView中预定了一些类似HTML的标签,通过标签可以使TextView控件显得不懂颜色、大小、字体的文字。:设置颜色和字体:设置大小号:设置小号:斜体、粗体:链接地址:插入图片TextView显示文本控件使用这些标签可以用Html.fromHtml方法将这些标签的字符串转换成Charsequenece对象,然后在TextView中进行设置。如果想在显示的文本中将URL地址、邮箱地址、电话产生超链接的效果可以使用and
2、roid:autoLink来设置。该属性如下:TextView显示文本控件TextView显示文本控件属性值描述None不匹配任何链接(默认)web网址email邮箱phone电话号码map匹配映射网址all匹配所有链接实战案例一:如何显示文本(URL、不同大小、字体、颜色的文本)实战案例二:在TextView中显示表情图像和文本实战案例三:单击链接弹出Activity实战案例四:用TextView实现跑马灯效果TextView显示文本控件EditText是除了TextView控件之外的属性,还可以实现输入文本内容。实战案例一像QQ一样输入表情图像实战案例二在EditText中输入特定的字符,
3、实现校验功能。EditText编辑文本控件如果我们想实现用户输入的内容有自动提示的功能,类似百度的搜索结果, pleteTextView可以实现。实战案例一:实现城市名称的模糊查询 pleteTextView自动完成输入内容的控件Button控件的基本用法和TextView、EditText相似,最常用的是按钮单击事件。实战案例一:按钮的焦点变化实战案例二:图文混排的按钮Button普通按钮控件选项按钮可以用于多选一的应用中,如果想在选中的某一个选项按钮后,其它的选项按钮都被设置为未选中的状态,需要将添加到标签中实战案例一:单选按钮的使用RadioButton选项按钮控件ToggleButto
4、n控件和Button控件的功能基本相同,ToggleButton控件提供了可以表示“开/关”状态的功能。实战案例一:ToggleButton按钮的使用ToggleButton开关状态按钮控件CheckBox默认的情况下是未选中的状态,如果想修改这个默认值的话,可以将中的android:checked设置为true或者使用CheckBox.setChecked方法设置都可以实现复选的功能。实战案例一:复选框控件使用CheckBox复选框控件SeekBar控件可以通过拖动滑竿改变当前的值,可以利用SeekBar来设置具有一定范围的变量的值。实战案例一:SeekBar控件使用SeekBar拖动条控件
5、ImageView主要是用来显示图片的控件,可以对图片进行放大、缩小和旋转的功能。android:scaleType属性指定ImageView控件显示图片的方式,例如:center表示图像以不缩放的方式显示在ImageView控件的中心,如果设置为fitCenter,表示图像按照比例缩放至合适的位置,并在ImageView控件的中心 实战案例一:ImageView控件的基本用法ImageView显示图像控件在实际应用开发中,我们可以将一个图像文件,指定显示按照屏幕的大小进行显示,或者对指定的图像文件进行裁剪的功能。实战案例一:ImageView实现图片裁剪和显示的功能ImageView显示图像
6、控件在开发中实现对图像的缩放有很多方法,最简单的方法是改变ImageView控件的大小,我们只要将标签的android:scaleType的属性值设置为fitCenter,要是想实现图像的旋转可以使用android.graphics.Matirx类的setRotate来实现。实战案例一:ImageView实现图片旋转功能ImageView显示图像控件在实际开发中我们可能会从网络上获取一张图像显示在我们的手机上,这样我们可以使用HTTP协议进行操作。实战案例一:从网络上获取ImageView图像显示在本地ImageView显示图像控件DatePicker(输入日期的控件) DatePicker控
7、件可用于输入日期,日期的范围是1900-1-1到2100-12-31。 实战案例一:DatePicker输入日期控件的使用DatePicker时间与日期控件TimerPicker输入时间控件用来输入小时和分钟。 TimerPicker默认的情况下是12小时进制,也可以设置24小时显示。实战案例一:TimerPicker时间控件的使用TimerPicker时间与日期控件AnalogClock和DigitalClock(显示时钟的控件)实战案例一:显示时钟控件的使用AnalogClock和DigitalClock时间和日期控件ProgressBar提供了可以向用户展示当前任务的进度。实战案例一:各
8、种ProgressBar进度条的使用进度条ProgressBar控件RatingBar主要用在电子相册、网上书店和对文章进行评分的功能。实战案例一:RatingBar评分控件的使用RatingBar评分控件ScrollView控件只是支持垂直滚动,而且在ScrollView中只能包含一个控件,通常是在标签中定义了一个标签并且在标签中android:orientation属性值设置为vertical,然后在标签中放置多个控件,如果标签中的控件所占用的总高度超出屏幕的高度,就会在屏幕的右侧出现一个滚动条。实战案例之一ScrollView垂直滚动控件的使用ScrollView垂直滚动控件的使用Hor
9、izontalScrollView控件只是支持水平滚动,而且它只能包含一个控件,通常是在标签中定义了一个标签并且在标签中android:orientation属性值设置为horizontal,然后在标签中放置多个控件,如果标签中的控件所占用的总宽度超出屏幕的宽度,就会出现滚动效果实战案例之一HorizontalScrollView水平滚动控件的使用HorizontalScrollView水平滚动控件Gallery控件一般是用于显示图像列表,因此也称为是画廊控件, Gallery只能水平显示一行,而且支持水平滑动效果。也就是说,单击、选中或者拖动Gallery中的图像, Gallery图像中的列
10、表会根据不同的情况向左向右移动,直到显示到最后的一个图像为止。实战案例之一Gallery画廊控件Gallery画廊控件PopupWindow 可以创建类似对话框风格的窗口,使用PopupWindow创建对话框风格的窗口只要实现两个步骤即可:1、调用PopupWindow的构造器创建PopupWindow对象2、调用PopupWindow的showAsDropDown(View view)方法将PopupWindow作为view的组件的下拉组件显示出来,或者调用PopupWindow的showAtLocation方法将PopupWindow在指定的位置显示出来。实战案例一:使用PopupWind
11、ow实现对话框的提示使用PopupWindowImageSwitcher控件可以用在不同的图像之间切换,其中切换的过程可以采用动画的方法,如淡入淡出的效果。ImageSwitcher需要一个图像工厂(ViewFactory)来创建用于显示图像的ImageView对象,因此我们需要一个实现android.widget.ViewSwitcher.ViewFactory接口的类。实战案例之一ImageSwitcher图像切换控件淡入淡出效果ImageSwitcher图片切换控件GridView控件用于显示一个网格图像, GridView主要是用在一些相册的布局显示图片。GridView采用的是二维表
12、的方式显示单元格,就需要设置二维表的行和列。设置GridView的列可以使用标签的columnWidth属性。也可以使用GridView类的setColumnWidth方法来设置列数,GridView中的单元格会根据列数自动拆行显示,因此不需要设置GridView的行数,但是需要设置android:numColumns属性。否则GridView只会显示一行。实战案例之一GridView网格控件显示相册GridView网格控件Spinner控件用于显示一个下拉列表,该控件在装载数据的时候需要创建一个Adapter适配器对象。并在创建Adapter对象过程中指定要装载的数据是数组或者是List对象
13、的数据实战案例之一Spinner下拉列表控件Spinner下拉列表控件如果在屏幕上要放置很多的控件,可能一个屏放不下,除了使用滚动视图的方式外,还可以使用标签控件对屏幕进行分页显示,当单击标签控件的不同标签时,会显示当前标签的内容,在android系统中一个标签可以是一个View或者是ActivityTabHost是标签控件的核心类,也是一个标签的集合,每一个标签是TabHost.TabSpec对象。通过TabHost类的addTab的方法添加多个TabHost.TabSpec对象。实战案例之一TabHost标签控件显示分页实战案例之 二TabHost标签控件显示底端菜单TabHost标签控件
14、之前我们介绍过标签,该标签可以再布局文件中引用另外一个布局文件,这种方式是在布局文件中固定导入,使用起来不是很方便。ViewtSub的功能和的功能类似,也是实现引用另外一个布局。但是唯一不同的是ViewStub并不会马上装载引用布局文件,只有在调用了ViewStub.inflate或ViewStub.setVisibility(View.VISIBILE)方法ViewStub才会装载引用的控件。实战案例之一ViewStub惰性装载控件实战案例之二动态加载布局ViewStub惰性装载控件Android的左右滑动在实际编程经常能用到,比如查看多张图片,左右切换tab页。自Android 3.0之后
15、的SDK中提供了android-support-v4包用以实现版本兼容,让老版本系统下的应用通过加入jar包实现扩展,其中有一个可以实现左右滑动的类ViewPager。实战案例之一ViewPager实现左右滑动特效一实战案例之二ViewPager实现左右滑动特效二实战案例之三ViewPager实现左右滑动特效三ViewPager多页面滑动效果Android中的列表控件飞创灵活,可以自定义每一个列表项,实际上每一个列表项就是一个View,在Android定义了3个列表控件:ListView、ExpandableListView和Spinner,其中Spinner就是在Windows中常见的下拉列
16、表框。ListView控件用于列表的形式显示数据, ListView控件采用MVC模式将前端显示和后端数据进行分离。也就是说, ListView控件在装载数据时并不是直接使用ListView.add或者类似的方法添加数据,而是需要指定一个Adapter对象。该对象相当于MVC模式中的C(控制器,Controller)。ListView相当于MVC模式中的V(视图,View),用于显示数据。为ListView提供数据的List或数组相当于MVC模式中的M(模型,Model)在ListView控件中通过Adapter对象获得需要显示的数据,在创建Adapter对象时需要指定要显示的数据(List或
17、数组对象),因此,要显示的数据与ListView之间通过Adapter对象进行连接,同时又互相独立,也就是说,ListView只知道显示的数据来自Adapter,并不知道这些数据来自List还是数组。ListView列表控件对于数据本身来说,只是知道将这些数据添加到Adapter对象中,并不知道这些数据会被用于ListView控件或其他控。如图所示:ListView列表控件CourseArrayListData sourceAdapterListViewMVC好处:MVC把应用程序的逻辑层与界面是完全分开的,最大的好处是:界面设计人员可以直接参与到界面开发,程序员就可以把精力放在逻辑层上。而不
18、是像以前那样,设计人员把所有的材料交给开发人员,由开发人员来实现界面。在Eclipes工具中开发Android采用了更加简单的方法,设计人员在AnroidDraw中设计界面,以XML方式保存,在Eclipes中直接打开就可以看到设计人员设计的界面。逻辑处理的代码则放在src文件夹下。让程序员更专注与业务。1) 视图层(View):一般采用XML文件进行界面的描述,使用的时候可以非常方便的引入。同时便于后期界面的修改。逻辑中与界面对应的id不变化则代码不用修改,大大增强了代码的可维护性。ListView列表控件2) 控制层(Controller):Android的控制层的重任通常落在了众多的Acitvity的肩上,这句话也就暗含了不要在Acitivity中写代码,要通过Activity交割Model业务逻辑层处理,这样做的另外一个原因是Android中的Acitivity的响应时间是5s,如果耗时的操作放在这里,程序就很容易被回收掉。3) 模型层(Model):对数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算等操作也是必须放在的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提升乡村产业竞争力的具体举措
- 垃圾桶合安装合同6篇
- 阿里巴巴AI驱动重新出发
- A股牛市到来 交易异常波动公告大增37.13%
- 作物栽培学知到课后答案智慧树章节测试答案2025年春中国农业大学
- 粘胶长丝企业数字化转型与智慧升级战略研究报告
- 羊绒手套企业ESG实践与创新战略研究报告
- 食品用山梨醇企业ESG实践与创新战略研究报告
- 雕刻工艺品企业数字化转型与智慧升级战略研究报告
- 客运火车站企业县域市场拓展与下沉战略研究报告
- 【正版授权】 IEC 63310:2025 EN Functional performance criteria for AAL robots used in connected home environment
- 最终版附件1:“跨学科主题学习”教学设计(2025年版)
- 《民航旅客运输》项目二课件
- 应聘人员面试登记表
- 两挡AMT换挡执行机构设计及仿真
- (精心整理)事故后果模拟分析
- 国家开放大学电大《健康教育与健康促进(本)》期末题库及答案
- MBR系统运行技术手册
- 中国河流湖泊
- 学校中层干部民主测评表(一)
- 云南省普通初中学生成长记录-基本素质发展初一-初三
评论
0/150
提交评论