TimePicker:時間選擇器。這個和DatePicker的設置基本差不多,下面就不多說了,基本註釋都在代碼中。
效果:
程序開始畫面
點擊按鈕後就會顯示時間選擇器對話框
在對話框上面設置時間:
當用戶設置好時間後,將時間顯示到TextView上面:
layout中的xml文件:
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical">
- <TextView
- android:id="@+id/textview"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="設置的時間:"
- />
- <Button
- android:id="@+id/timepickerBut"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="改變時間"
- />
- </LinearLayout>
Activaty.java文件:
- package com.cheng.timepickerproject;
- import java.util.Calendar;
- import android.os.Bundle;
- import android.app.Activity;
- import android.app.Dialog;
- import android.app.TimePickerDialog;
- import android.app.TimePickerDialog.OnTimeSetListener;
- import android.view.Menu;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- import android.widget.TimePicker;
- public class TimePickerActivity extends Activity {
- private Button mButton; //定義按鈕
- private TextView mTextView;//定義文本框
- private int mHour; //存放時間的小時
- private int mMinute; //存放時間的分鐘
- private static final int TIMEPICKER_DIALOG_1 = 0; //設置Dialog的id
- //時間監聽器,當用戶改變時間的時候將會調用它
- OnTimeSetListener otsl = new OnTimeSetListener() {
- @Override
- public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
- // TODO Auto-generated method stub
- //設置小時、分鐘,並把時間顯示在文本框上
- mHour = hourOfDay;
- mMinute = minute;
- mTextView.setText("當前時間:" + mHour +":"+mMinute);
- }
- };
- //從寫onCreateDialog,創建一個對話框
- protected Dialog onCreateDialog(int id) {
- switch (id) {
- case TIMEPICKER_DIALOG_1:
- //新建一個TimePickerDialog
- return new TimePickerDialog(TimePickerActivity.this, otsl, mHour, mMinute, true);
- default:
- break;
- }
- return null;
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- super.setContentView(R.layout.main);
- //給按鈕和文本框賦值
- mButton = (Button)findViewById(R.id.timepickerBut);
- mTextView = (TextView)findViewById(R.id.textview);
- //點擊監聽器
- View.OnClickListener ocl = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- //獲得當前的時間的小時和分鐘
- Calendar calendar = Calendar.getInstance();
- mHour = calendar.get(Calendar.HOUR);
- mMinute = calendar.get(Calendar.MINUTE);
- //顯示對話框
- showDialog(TIMEPICKER_DIALOG_1);
- }
- };
- //將點擊時間綁定到按鈕上面
- mButton.setOnClickListener(ocl);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- }
ok,加上下載工程鏈接: