<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent">    <TextView        android:layout_width="fill_parent" android:layout_height="wrap_content"        android:gravity="center" android:text="欢迎关注Andy.Chen Blog" />     <TextView        android:layout_width="fill_parent" android:layout_height="wrap_content"        android:gravity="center" android:text="日期和时间控件的使用DEMO" />        <LinearLayout android:orientation="horizontal"         android:layout_width="fill_parent" android:layout_height="wrap_content">         <EditText android:id="@+id/showdate" android:layout_width="fill_parent"             android:layout_height="wrap_content" android:layout_weight="1"/>         <Button android:id="@+id/pickdate" android:layout_width="wrap_content"             android:layout_height="wrap_content" android:text="选择日期"/>        </LinearLayout>         <LinearLayout android:orientation="horizontal"         android:layout_width="fill_parent" android:layout_height="wrap_content">         <EditText android:id="@+id/showtime" android:layout_width="fill_parent"             android:layout_height="wrap_content" android:layout_weight="1"/>         <Button android:id="@+id/picktime" android:layout_width="wrap_content"             android:layout_height="wrap_content" android:text="选择时间"/>        </LinearLayout> </LinearLayout>

主代码.java

package com.xmb.test1;import java.util.Calendar;import android.app.Activity;import android.app.DatePickerDialog;import android.app.Dialog;import android.app.TimePickerDialog;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.Button;import android.widget.DatePicker;import android.widget.EditText;import android.widget.TimePicker;public class TimeViewMain extends Activity {                private EditText showDate = null;        private Button pickDate = null;        private EditText showTime = null;        private Button pickTime = null;                private static final int SHOW_DATAPICK = 0;     private static final int DATE_DIALOG_ID = 1;      private static final int SHOW_TIMEPICK = 2;    private static final int TIME_DIALOG_ID = 3;        private int mYear;      private int mMonth;    private int mDay;     private int mHour;    private int mMinute;            /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                initializeViews();                final Calendar c = Calendar.getInstance();        mYear = c.get(Calendar.YEAR);          mMonth = c.get(Calendar.MONTH);          mDay = c.get(Calendar.DAY_OF_MONTH);                mHour = c.get(Calendar.HOUR_OF_DAY);        mMinute = c.get(Calendar.MINUTE);                setDateTime();         setTimeOfDay();    }        /**     * 初始化控件和UI视图     */    private void initializeViews(){        showDate = (EditText) findViewById(R.id.showdate);          pickDate = (Button) findViewById(R.id.pickdate);         showTime = (EditText)findViewById(R.id.showtime);        pickTime = (Button)findViewById(R.id.picktime);                pickDate.setOnClickListener(new View.OnClickListener() {                                                @Override                        public void onClick(View v) {                   Message msg = new Message();                    if (pickDate.equals((Button) v)) {                        msg.what = TimeViewMain.SHOW_DATAPICK;                     }                     TimeViewMain.this.dateandtimeHandler.sendMessage(msg);                         }                });                pickTime.setOnClickListener(new View.OnClickListener() {                                                @Override                        public void onClick(View v) {                   Message msg = new Message();                    if (pickTime.equals((Button) v)) {                        msg.what = TimeViewMain.SHOW_TIMEPICK;                     }                     TimeViewMain.this.dateandtimeHandler.sendMessage(msg);                         }                });    }    /**     * 设置日期     */        private void setDateTime(){       final Calendar c = Calendar.getInstance();                mYear = c.get(Calendar.YEAR);         mMonth = c.get(Calendar.MONTH);         mDay = c.get(Calendar.DAY_OF_MONTH);          updateDateDisplay();         }                /**         * 更新日期显示         */        private void updateDateDisplay(){       showDate.setText(new StringBuilder().append(mYear).append("-")                       .append((mMonth + 1) < 10 ? "0" + (mMonth + 1) : (mMonth + 1)).append("-")               .append((mDay < 10) ? "0" + mDay : mDay));         }            /**      * 日期控件的事件      */      private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {           public void onDateSet(DatePicker view, int year, int monthOfYear,                int dayOfMonth) {             mYear = year;             mMonth = monthOfYear;             mDay = dayOfMonth;             updateDateDisplay();       }      };                 /**         * 设置时间         */        private void setTimeOfDay(){           final Calendar c = Calendar.getInstance();        mHour = c.get(Calendar.HOUR_OF_DAY);       mMinute = c.get(Calendar.MINUTE);       updateTimeDisplay();        }                /**         * 更新时间显示         */        private void updateTimeDisplay(){       showTime.setText(new StringBuilder().append(mHour).append(":")               .append((mMinute < 10) ? "0" + mMinute : mMinute));         }        /**     * 时间控件事件     */    private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {                                @Override                public void onTimeSet(TimePicker view, int hourOfDay, int minute) {                        mHour = hourOfDay;                        mMinute = minute;                                                updateTimeDisplay();                }        };        @Override      protected Dialog onCreateDialog(int id) {         switch (id) {         case DATE_DIALOG_ID:             return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,                    mDay);       case TIME_DIALOG_ID:               return new TimePickerDialog(this, mTimeSetListener, mHour, mMinute, true);       }                      return null;      }        @Override      protected void onPrepareDialog(int id, Dialog dialog) {         switch (id) {         case DATE_DIALOG_ID:             ((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay);             break;       case TIME_DIALOG_ID:               ((TimePickerDialog) dialog).updateTime(mHour, mMinute);               break;       }    }        /**      * 处理日期和时间控件的Handler      */      Handler dateandtimeHandler = new Handler() {         @Override         public void handleMessage(Message msg) {             switch (msg.what) {             case TimeViewMain.SHOW_DATAPICK:                 showDialog(DATE_DIALOG_ID);                 break;            case TimeViewMain.SHOW_TIMEPICK:                   showDialog(TIME_DIALOG_ID);                   break;           }         }        };     }

更多相关文章

  1. Android(安卓)动态生成多行多列控件
  2. Android简明开发教程十六:Button 画刷示例
  3. android中设置一些没有maxHeight属性控件的最高值
  4. [置顶] Android动态添加控件约束位置
  5. android 中imageview 与diallog综合应用猜牌游戏
  6. Android当前时间的获取
  7. Android的简单组件总结
  8. Android中如何实现图像的闪动
  9. LinearLayout 线性布局

随机推荐

  1. WebView中的视频播放
  2. Android之备份服务(Bacackupanagerervice
  3. 播放音乐时的状态条使用
  4. 升级Android(安卓)Studio 3.6.1后Android
  5. Android(安卓)获得View截屏最优方案
  6. Android数据传递相关内容概述
  7. Android的消息机制,用Android线程间通信的
  8. Android界面布局基本知识简述
  9. Android应用程序窗口(Activity)的运行上下
  10. Android中的资源分析