当前位置:文档之家› 老二牛车AndroidUI之常用控件

老二牛车AndroidUI之常用控件

基础篇 Android常用控件
回顾与作业点评
简述Acvity的生命周期 Acvity的启动方式 如何在Activity间进行数据的传递
本章任务
使用Android开发使用时间组件 使用Android开发使用进度条组件 使用Android开发创建底部选项卡
了解Android的组件层次结构 掌握常用的日期时间类控件 掌握常用的几个容器组件
计时器组件
Chronometer
和 DigitalClock 都 继 承 TextView , 但 它 不 显 示 时 间 , 它 显示的是从某个起始时间开始,一共过去了多少时间 默认情况下只能输出MM:SS或H:MM:SS的时间格式 重要属性
android:format:定义时间的格式如:hh:mm:ss
…… } }); timePicker1.setOnTimeChangedListener(new OnTimeChangedListener() { public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
…… } });
textView = (TextView)findViewById(R.id.edit); int i= seekBar.getProgress(); textView.setText"当前进度:"+i+"%");
} });
评分组件
RatingBar
RatingBar是SeekBar和ProgressBar的扩展,用星星 来评级
本章目标
Android组件的层次结构
UI组件都是View的子类,View有很多子类,它们 之间存在树状的继承关系
View及其子类结构图
Android组件的层次结构
继承关系
TextView及其子类结构图
Android组件的层次结构
继承关系
ViewGroup及其子类结构图
其下的子类一般作为容器或布局来使用
示例
datePicker1.init(c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH), new OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
计时器组件
Chronometer
示例
public void onStart(View view) { chronometer.start();
} public void onStop(View view) {
chronometer.stop(); } public void onReset(View view) {
Android组件的层次结构
继承关系
FrameLayout及其子类结构图
其下的子类通常作为容器或布局来使用
日期时间选择器
DatePicker/TimePicker
DatePicker组件可用于输入日期,TimePicker组件可用 来选择时间,只能输入小时和分,默认12小时制
DatePicker
SeekBar是ProgressBar的子类,这个组件不需要设 置sencondaryProgress属性
事 件 接 口 OnSeekBarChangeListener 处 理 组 件 事 件 由以下三个方法
public void onStartTrackingTouch(SeekBar seekBar) 按下 滑杆后触发
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) 动滑杆开始滑动时触发 public void onStopTrackingTouch(SeekBar seekBar) 松开 滑杆时触发
可拖动的进度条组件
TimePicker
使用onTimeChangedListener监听器获取用户的时间选择 使用setIs24HourView设置是否以24小时制显示 使用getCurrentHour获得当前的小时数 使用getCurrentMinute获得当前的分钟数
日期时间选择器
DatePicker/TimePicker
重要方法
setBase(long base):设置倒计时起始时间
➢ 参数为SystemClock.elapsedRealtime()方法返回的值为当 前时刻
setFormat(String format):设置显示时间的格式 start():开始计时 stop():停止计时 setOnChronometerTickListener(Chronometer.OnChronom eterTickListener listener):当计时器改变时调用
SeekBar
示例
<SeekBar android:id="@+id/seekbar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:max=“100" android:progress=“60"> </SeekBar>
如网上购物,对商家的产品和服务进行打分等
常用属性
android:numStarts用于评分的五角星数量 android:rating当前的分数 android:stepSize分数的增长单位,默认是0.5
事件接口OnRatingBarChangeListener处理组件事件
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser)
小号圆形ProgressBar
<ProgressBar android:id="@+id/pbar2" android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleSmall" />
//显示标题不确定性进度条

setProgressBarIndeterminateVisibility(true);



//设置标题进度条风格

requestWindowFeature(Window.FEATURE_PROGRESS);

setContentView(yout.main);
chronometer.setBase(SystemClock.elapsedRealtime()); } chronometer.setOnChronometerTickListener(new OnChronometerTickListener() {
public void onChronometerTick(Chronometer chronometer) { String time = chronometer.getText().toString(); Log.v("ChronometerDemo1", time);
Android系统提供了两大类进度条样式
长形进度条 圆形进度条(大中小三种)
默认是普通圆形进度条,是不确定Android进度条
进度条组件
多样式ProgressBar
默认普通圆形ProgressBar
<ProgressBar android:id="@+id/pbar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" />
大号圆形ProgressBar
<ProgressBar android:id="@+id/pbar2" android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleLarge" />
日期时间选择器
DatePicker/TimePicker
DatePicker组件可用于输入日期,TimePicker组件可用 来选择时间,只能输入小时和分,默认12小时制
DatePicker
使用onDateChangedListener监听器来获取用户的日期选择 使用init对组件进行初始化 使 用 getYear,getMonth,getDayOfMonth 方 法 获 得 用 户 选 择 的年,月,日
} });
练习——时间组件
需求说明: 日期时间选择器 时钟组件 计时器组件
完成时间:25分钟
共性问题集中讲解
共性问题集中讲解
常见调试问题及解决办法 代码规范问题
进度条组件
ProgressBar
当一个应用在后台执行时,前台界面就不会有什么 信息,这时用户根本不知道程序是否在执行、执行 进度如何、应用程序是否遇到错误终止等,这时需 要使用进度条来提示用户后台程序执行的进度
相关主题