Android常用控件
《Android基础应用》
Android常用控件
?本章任务
?使用Android开发使用时间组件
?使用Android开发使用进度条组件
?使用Android开发创建底部选项卡
?本章目标
?了解Android的组件层次结构
?掌握常用的日期时间类控件
?掌握常用的几个容器组件
1.Android组件的层次结构
UI组件都是View的子类,View有很多子类,它们之间存在树状的继承关系View及其子类结构图
TextView及其子类结构图
ViewGroup及其子类结构图
其下的子类一般作为容器或布局来使用
FrameLayout及其子类结构图
其下的子类通常作为容器或布局来使用
2.时间控件
2.1日期时间选择器
DatePicker组件可用于输入日期,TimePicker组件可用来选择时间,只能输入小时和分,默认12小时制
DatePicker
●使用onDateChangedListener监听器来获取用户的日期选择
●使用init对组件进行初始化
●使用getYear,getMonth,getDayOfMonth方法获得用户选择的年,月,日
TimePicker
●使用onTimeChangedListener监听器获取用户的时间选择
●使用setIs24HourView设置是否以24小时制显示
●使用getCurrentHour获得当前的小时数
●使用getCurrentMinute获得当前的分钟数
示例
示例的实现结果
2.2时钟组件
AnalogClock组件用来以表盘的方式显示当前时间,该表只有时针和分针,DigitClock组件以数字的方式显示当前时间可以显示时分秒,由于DigitClock继承TextView,可以使用TextView 的属性
示例
示例的实现结果
2.3 计时器组件Chronometer
和DigitalClock 都继承TextView
,但它不显示时间,它显示的是从某个起始时间开始,一共
过去了多少时间
默认情况下只能输出MM:SS或H:MM:SS的时间格式
重要属性
●android:format:定义时间的格式如:hh:mm:ss
重要方法
●setBase(long base):设置倒计时起始时间
参数为SystemClock.elapsedRealtime()方法返回的值为当前时刻
●setFormat(String format):设置显示时间的格式
●start():开始计时
●stop():停止计时
●setOnChronometerTickListener(Chronometer.OnChronometerTickListene
r listener):当计时器改变时调用
示例
示例的实现结果
练习——时间组件
需求说明:
日期时间选择器
时钟组件
计时器组件
按照课件中示例图实施
3.进度类组件
3.1进度条组件
当一个应用在后台执行时,前台界面就不会有什么信息,这时用户根本不知道程序是否在执行、执行进度如何、应用程序是否遇到错误终止等,这时需要使用进度条来提示用户后台程序执行的进度
Android系统提供了两大类进度条样式
●长形进度条
●圆形进度条(大中小三种)
默认是普通圆形进度条,是不确定Android进度条
默认普通圆形ProgressBar
大号圆形ProgressBar
小号圆形ProgressBar
示例
3.2标题进度条
进度条除了可以显示在Activity中外,还可以显示在标题中
圆形进度条
长方形进度条Array
示例
示例的实现结果
3.3 可拖动的进度条组件
SeekBar 控件其实就是一个高级点的进度条,就像我们在听歌,看电影用的播放器上的进度条一样,是可以拖动的,可以改变进度的一个进度条控件
SeekBar 是ProgressBar 的子类,这个组件不需要设置sencondaryProgress 属性 事件接口OnSeekBarChangeListener 处理组件事件由以下三个方法
● public void onStartTrackingTouch(SeekBar seekBar) 按下滑杆后
触发
● public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) 动滑杆开始滑动时触发
● public void onStopTrackingTouch(SeekBar seekBar) 松开滑杆时触
发
示例
示例的实现结果
3.4界面评分组件
RatingBar是SeekBar和ProgressBar的扩展,用星星来评级
如网上购物,对商家的产品和服务进行打分等
常用属性
●android:numStarts用于评分的五角星数量
●android:rating当前的分数
●android:stepSize分数的增长单位,默认是0.5
事件接口OnRatingBarChangeListener处理组件事件
● public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser)
示例
示例的实现结果
属性Style
●用于为RatingBar设置不同的风格,一旦设置了style,就不可点击改变值示例
示例的实现结果
练习——进度组件
需求说明:
ProgressBar
SeekBar
RatingBar
按照课件中示例图实施
4.滚动视图
当一个屏幕因为要显示的内容太多而显示不全时,我们可以使用滚动视图来解决这个问题垂直滚动视图ScrollView
ScrollView可以用来实现垂直滚动的视图,当它内容组件的高度超过屏幕的高度时,就会在屏幕的右侧出现一个垂直方向的滚动条,通过单击手机上的上下按钮或
者上下拂动屏幕可以查看未显示部分
注意:在ScrollView标签中只能包含一个组件
使用步骤
在ScrollView标签中包含一个LinearLayout标签,并设置盖标签的android:orientation属性为vertical
在LinearLayout中放置需要显示的组件
示例
ScrollView只能用来实现垂直滚动的视图,如果要实现水平滚动,需要水平滚动视图HorizontalScrollView
示例