--------------------------------------------MainActivity.java-------------------------------------

packagecom.ch07;

importjava.text.DateFormat;

importjava.text.SimpleDateFormat;

importjava.util.Calendar;

importjava.util.Date;

importjava.util.Locale;

importandroid.app.Activity;

importandroid.app.DatePickerDialog;

importandroid.app.Dialog;

importandroid.app.ProgressDialog;

importandroid.app.TimePickerDialog;

importandroid.os.Bundle;

importandroid.util.Log;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.DatePicker;

importandroid.widget.TextView;

importandroid.widget.TimePicker;

/**

*

*项目名称:com.ch07

*类名称:MainActivity

*类描述:DatePickerDialog、TimePickerDialog、ProgressDialog、Thread、Calendar

*创建人:fy

*创建时间:2012-11-9下午4:07:54

*Copyright(c)方勇-版权所有

*/

publicclassMainActivityextendsActivity{

/*日期对话框标识*/

privatefinalstaticintDIALOG_DATE=0;

/*时间对话框标识*/

privatefinalstaticintDIALOG_TIME=1;

/*日志标识*/

privatefinalstaticStringTAG="fy";

/*进度值*/

privateintprocessNum=0;

/*下载进度对话框*/

privateProgressDialogpDialog;

/*日历对象,保存年月日小时分钟秒星期信息*/

privateCalendarcalendar=Calendar.getInstance(Locale.CHINA);

/*显示当前时间*/

privateTextViewview_datetime;

privateButtonbtn_date;

privateButtonbtn_time;

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

findViews();

setListeners();

/*显示下载进度*/

buildProcessDialog().show();

/*更新下载进度*/

updateProcess();

}

/*初始化UI*/

privatevoidfindViews(){

view_datetime=(TextView)findViewById(R.id.datetime);

btn_date=(Button)findViewById(R.id.btn_date);

btn_time=(Button)findViewById(R.id.btn_time);

}

/*设置UI监听器*/

privatevoidsetListeners(){

btn_date.setOnClickListener(onClickListener);

btn_time.setOnClickListener(onClickListener);

}

/*两个按钮的监听事件*/

privateView.OnClickListeneronClickListener=newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

if(v==btn_date){

showDialog(DIALOG_DATE);

}elseif(v==btn_time){

showDialog(DIALOG_TIME);

}

}

};

/*每次Dialog打开的时候被调用*/

@Override

protectedDialogonCreateDialog(intid){

switch(id){

caseDIALOG_DATE:

buildDateDialog().show();

break;

caseDIALOG_TIME:

buildTimeDialog().show();

break;

}

returnsuper.onCreateDialog(id);

}

/*构建日期对话框*/

privateDialogbuildDateDialog(){

DatePickerDialogdateDialog=newDatePickerDialog(this,oOnDateSetListener,calendar.get(Calendar.YEAR),

calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH));

returndateDialog;

}

/*构建时间对话框*/

privateDialogbuildTimeDialog(){

TimePickerDialogtimeDialog=newTimePickerDialog(this,onTimeSetListener,calendar.get(Calendar.HOUR),

calendar.get(Calendar.MINUTE),true);

returntimeDialog;

}

/*构建进度对话框*/

privateDialogbuildProcessDialog(){

pDialog=newProgressDialog(this);

pDialog.setTitle("进度条");

pDialog.setMessage("正在下载中.....");

pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

/*是否可中断*/

pDialog.setCancelable(true);

returnpDialog;

}

/*更新下载进度*/

privatevoidupdateProcess(){

newThread(){

@Override

publicvoidrun(){

try{

while(processNum<=100){

pDialog.setProgress(processNum++);//设置进度值,并加1

Thread.sleep(100);//

}

pDialog.cancel();//关闭对话框

}catch(InterruptedExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

super.run();

}

}.start();

}

/*日期设置按钮对应的监听对象*/

privateDatePickerDialog.OnDateSetListeneroOnDateSetListener=newDatePickerDialog.OnDateSetListener(){

@Override

publicvoidonDateSet(DatePickerview,intyear,intmonthOfYear,intdayOfMonth){

calendar.set(year,monthOfYear,dayOfMonth);

Log.v(TAG,

calendar.get(Calendar.YEAR)+"年"+calendar.get(Calendar.MONTH)+"月"+calendar.get(Calendar.DAY_OF_MONTH)

+"日");

updateDateLabel();

}

};

/*日期设置按钮对应的监听对象*/

privateTimePickerDialog.OnTimeSetListeneronTimeSetListener=newTimePickerDialog.OnTimeSetListener(){

@Override

publicvoidonTimeSet(TimePickerview,inthourOfDay,intminute){

calendar.set(Calendar.HOUR,hourOfDay);

calendar.set(Calendar.MINUTE,minute);

updateDateLabel();

}

};

/*更新TextView,显示时间*/

privatevoidupdateDateLabel(){

Datedate=calendar.getTime();

DateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ssE");

view_datetime.setText(df.format(date));

}

}

--------------------------------------------效果图-------------------------------------------------

<!--EndFragment-->

更多相关文章

  1. Android(安卓)可滚动圆形进度条 滑块和进度在进度条上面跟着滚动
  2. Android(安卓)seekbar 滑动时上方显示进度
  3. android 自定义基于组件的注册用户对话框
  4. android中.classpath和.project作用
  5. android 返回键退出程序
  6. 有板有眼:Google如何利用Moto的专利来帮助Android开发商?
  7. android自定义adapter 滑动屏幕时 进度条显示混乱
  8. 【更新】Google 与微软开始口水战
  9. android自定义adapter 滑动屏幕时 进度条显示混乱

随机推荐

  1. 百度小程序源码之追格资讯小程序源码下载
  2. jenkins中maven的安装及配置,如何在jenkin
  3. Android错误汇总集锦
  4. Android绘制圆形图片(五)
  5. Android之EditView 阻止软键盘自动弹出
  6. android(7)(写数据权限)
  7. Android通过内容提供器获取相册中所有图
  8. Android(安卓)属性动画中心点无限循环
  9. Android(安卓)MediaPlayer Playback---多
  10. Android(安卓)8.0 app内覆盖安装