阅读更多

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

package com.ch07;

 

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.Locale;

import android.app.Activity;

import android.app.DatePickerDialog;

import android.app.Dialog;

import android.app.ProgressDialog;

import android.app.TimePickerDialog;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.DatePicker;

import android.widget.TextView;

import android.widget.TimePicker;

 

/**

 * 

 * 项目名称:com.ch07    

 * 类名称:MainActivity    

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

 * 创建人:fy   

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

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

 */

public class MainActivity extends Activity {

/* 日期对话框标识 */

private final static int DIALOG_DATE = 0;

/* 时间对话框标识 */

private final static int DIALOG_TIME = 1;

/* 日志标识 */

private final static String TAG = "fy";

/* 进度值 */

private int processNum = 0;

/* 下载进度对话框 */

private ProgressDialog pDialog;

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

private Calendar calendar = Calendar.getInstance(Locale.CHINA);

/* 显示当前时间 */

private TextView view_datetime;

private Button btn_date;

private Button btn_time;

 

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

findViews();

setListeners();

/* 显示下载进度 */

buildProcessDialog().show();

/* 更新下载进度 */

updateProcess();

}

 

/* 初始化UI */

private void findViews() {

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

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

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

}

 

/* 设置UI监听器 */

private void setListeners() {

btn_date.setOnClickListener(onClickListener);

btn_time.setOnClickListener(onClickListener);

}

 

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

private View.OnClickListener onClickListener = new View.OnClickListener() {

 

@Override

public void onClick(View v) {

if (v == btn_date) {

showDialog(DIALOG_DATE);

else if (v == btn_time) {

showDialog(DIALOG_TIME);

}

}

};

 

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

@Override

protected Dialog onCreateDialog(int id) {

switch (id) {

case DIALOG_DATE:

buildDateDialog().show();

break;

case DIALOG_TIME:

buildTimeDialog().show();

break;

}

return super.onCreateDialog(id);

}

 

/* 构建日期对话框 */

private Dialog buildDateDialog() {

DatePickerDialog dateDialog = new DatePickerDialog(thisoOnDateSetListenercalendar.get(Calendar.YEAR),

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

return dateDialog;

}

 

/* 构建时间对话框 */

private Dialog buildTimeDialog() {

TimePickerDialog timeDialog = new TimePickerDialog(thisonTimeSetListenercalendar.get(Calendar.HOUR),

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

return timeDialog;

 

}

 

/* 构建进度对话框 */

private Dialog buildProcessDialog() {

pDialog = new ProgressDialog(this);

pDialog.setTitle("进度条");

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

pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

/* 是否可中断 */

pDialog.setCancelable(true);

return pDialog;

}

 

/* 更新下载进度 */

private void updateProcess() {

new Thread() {

@Override

public void run() {

try {

while (processNum <= 100) {

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

Thread.sleep(100);//

}

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

catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

super.run();

}

 

}.start();

}

 

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

private DatePickerDialog.OnDateSetListener oOnDateSetListener = new DatePickerDialog.OnDateSetListener() {

 

@Override

public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

calendar.set(year, monthOfYear, dayOfMonth);

Log.v(TAG,

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

"日");

updateDateLabel();

}

};

 

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

private TimePickerDialog.OnTimeSetListener onTimeSetListener = new TimePickerDialog.OnTimeSetListener() {

 

@Override

public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

calendar.set(Calendar.HOUR, hourOfDay);

calendar.set(Calendar.MINUTE, minute);

updateDateLabel();

}

};

 

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

private void updateDateLabel() {

Date date = calendar.getTime();

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");

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

}

}

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

  • 大小: 83.4 KB
  • 大小: 73.1 KB
  • 大小: 93.5 KB
  • 大小: 89.1 KB
  • com.ch07.rar (691.5 KB)
  • 下载次数: 30
  • 下周课程第二部分.rar (2.9 MB)
  • 下载次数: 21
  • 查看图片附件

更多相关文章

  1. android定制对话框
  2. 不让屏幕翻转扰乱你的进度对话框
  3. android软件开发:横竖屏
  4. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框
  5. Android中自定义对话框小结
  6. Android中自定义对话框小结
  7. Android中自定义对话框小结
  8. android打电话,发短信
  9. 关于Android动态权限的一些疑问

随机推荐

  1. 关于Android中的Parcel机制
  2. css margin属性理解与使用
  3. Android中的双击事件
  4. Android(安卓)实现倒计时功能
  5. Android仿酷狗音乐自定义侧滑菜单控件简
  6. 移动终端平台之争! iOS、Android还是wp7?
  7. Android完败 移动网页浏览份额iOS依然绝
  8. Android框架之MVP实践
  9. Android进阶——Handler的应用之解决Only
  10. Android(安卓)跳过开机界面 直接软件自启