<?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当前时间的获取
  3. [置顶] Android动态添加控件约束位置
  4. android中设置一些没有maxHeight属性控件的最高值
  5. 多个控件跑马灯效果
  6. Android 日期时间选择控件
  7. Android下获取开机时间
  8. Android Material Design 控件常用的属性
  9. Android常用控件之悬浮窗(Service实现)

随机推荐

  1. Android 实现扫雷小游戏实例代码
  2. Android(安卓)NDK
  3. 当scroll时改变item的背景
  4. Android 实践项目开发 总结
  5. Android Studio常见布局报错及解决方案
  6. eclipse中android的安装
  7. activity页面切换效果
  8. Android——ViewGroup的一个用法实例
  9. android之Android中的SQL查询语句LIKE绑
  10. [置顶] Android使用主题配置文件,去掉程序