Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發之日期、時間選擇器(DatePicker和TimePicker)的功能和用法

Android開發之日期、時間選擇器(DatePicker和TimePicker)的功能和用法

編輯:關於Android編程

日期、時間選擇器(DatePicker和TimePicker)的功能和用法

DatePicker和TimePicker是兩個比較常用的控件,它們都從FrameLayout派生而來,其中DatePicker用於選擇日期、TimePicker用於選擇時間。

DatePicker和TimePicker在FrameLayout的基礎上提供了一些方法來獲取當前用戶所選擇的日期、時間;開發者可以通過為DatePicker添加OnDateChangedListener、為TimePicker添加OnTimeChangedListener監聽器進行監聽來獲取用戶選擇的日期和時間。

DatePicker(日期選擇器)


結構:

java.lang.Object
   ? 	android.view.View
  	   ? 	android.view.ViewGroup
  	  	   ? 	android.widget.FrameLayout
  	  	  	   ? 	android.widget.DatePicker

概述:

一個選擇年月日的日歷布局視圖,對於對話框視圖,參見 DatePickerDialog.

公共方法:

Public Methods

int

getDayOfMonth()

獲取選擇的天數

int

getMonth()

獲取選擇的月份

int

getYear()

獲取選擇的年份

void

init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)

初始化年月日

void

setEnabled(boolean enabled)

設置視圖的啟用狀態

void

updateDate(int year, int monthOfYear, int dayOfMonth)

更新日期

DatePicker支持的XML屬性:

XML屬性

說明

android:calendarViewShown

設置該日期選擇器是否顯示ClendarView組件

android:endYear

設置該日期選擇器允許選擇的最後一年

android:startYear

設置該日期選擇器允許選擇的第一一年

android:maxDate

設置該日期選擇器允許選擇的最大日期。以mm/dd/yyyy格式指定最大日期

android:minDate

設置該日期選擇器允許選擇的最小日期。以mm/dd/yyyy格式指定最小日期

android:spinnersShown

設置該日期選擇器是否顯示Spinner日期選擇組件

TimePicker(時間選擇器)


結構:

ava.lang.Object
   ? 	android.view.View
  	   ? 	android.view.ViewGroup
  	  	   ? 	android.widget.FrameLayout
  	  	  	   ? 	android.widget.TimePicker

概述:

用於選擇一天中時間的視圖,支持 24小時及上午/下午模式。小時,分鐘及上午/下午(如果可用)都可以用垂直滾動條來控制。用鍵盤來輸入小時。兩個數的小時數可以通過輸入兩個數字來實現,例如在一定時間內輸入‘1’和‘2’即選擇了12點。分鐘能顯示輸入的單個數字。在AM/PM模式下,用戶可以輸入'a', 'A"或 'p', 'P'來選取。對於對話框視圖,參見TimePickerDialog。

公共方法:

Public Methods

int

getBaseline()

返回窗口空間的文本基准線到其頂邊界的偏移量。如果這個部件不支持基准線對齊,

這個方法返回-1/。

Integer

getCurrentHour()

獲取當前時間的小時部分。 返回值當前小時(0-23)

Integer

getCurrentMinute()

獲取當前時間的分鐘部分

boolean

is24HourView()

獲取當前系統設置是否是24小時制。 如果是24小時制返回true,否則返回false。

void

setCurrentHour(Integer currentHour)

設置當前小時

void

setCurrentMinute(Integer currentMinute)

設置當前分鐘(0-59)

void

setEnabled(boolean enabled)

設置可用的視圖狀態。可用的視圖狀態的解釋在子類中改變。

void

setIs24HourView(Boolean is24HourView)

設置是24小時還是上午/下午制

void

setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)

設置時間調整事件的回調函數。

應用實例


選擇日期和時間:

運行效果圖:

日期、時間選擇器(DatePicker和TimePicker)的功能和用法

程序代碼:

package com.jph.choosedae;

import java.util.Calendar;
import android.app.Activity;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.EditText;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
import android.widget.Toast;

/**
 * Description:
 * 
選擇日期時間 *
本實例通過DatePicker(時間選擇器)和 *
TimePicker(日期選擇器)來提供用戶選擇日期和時間 *
為了獲取選擇的日期程序為DatePicker注冊了OnDateChangedListener *
監聽器,為了獲取選擇的時間程序為TimePicker注冊OnTimeChangedListener *
監聽器 * @author jph * Date:2014.20.57 */ public class ChooseDate extends Activity { // 定義5個記錄當前時間的變量 private int year; private int month; private int day; private int hour; private int minute; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker); TimePicker timePicker = (TimePicker) findViewById(R.id.timePicker); // 獲取當前的年、月、日、小時、分鐘 Calendar c = Calendar.getInstance(); year = c.get(Calendar.YEAR); month = c.get(Calendar.MONTH); day = c.get(Calendar.DAY_OF_MONTH); hour = c.get(Calendar.HOUR); minute = c.get(Calendar.MINUTE); // 初始化DatePicker組件,初始化時指定監聽器 datePicker.init(year, month, day, new OnDateChangedListener() { @Override public void onDateChanged(DatePicker arg0, int year , int month, int day) { ChooseDate.this.year = year; ChooseDate.this.month = month; ChooseDate.this.day = day; // 顯示當前日期、時間 showDate(year, month, day, hour, minute); Toast.makeText(ChooseDate.this,"您選擇的日期:"+year+"年 " +month+"月 "+day+"日", Toast.LENGTH_SHORT).show(); } }); // 為TimePicker指定監聽器 timePicker.setOnTimeChangedListener(new OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker view , int hourOfDay, int minute) { ChooseDate.this.hour = hourOfDay; ChooseDate.this.minute = minute; // 顯示當前日期、時間 showDate(year, month, day, hour, minute); Toast.makeText(ChooseDate.this,"您選擇的時間:"+hourOfDay+"時 " +minute+"分", Toast.LENGTH_SHORT).show(); // } }); } // 定義在EditText中顯示當前日期、時間的方法 private void showDate(int year, int month , int day, int hour, int minute) { EditText show = (EditText) findViewById(R.id.show); show.setText("您選擇的日期和時間為:" + year + "年" + (month + 1) + "月" + day + "日 " + hour + "時" + minute + "分"); } }

xml布局文件:



	

	









  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved