DatePickerDialog和TimePickerDialog的用法

2014-08-03 22:57:11|?次阅读|上传:huigezrx【已有?条评论】发表评论

关键词:Java, Android, 界面设计, 移动应用|来源:唯设编程网

其中TimePickerDialog.OnTimeSetListener为时间选中对应的监听器,其他为时间弹出窗口初始化的时间,对于一个OnTimeSetListener接口而言,需要实现其中的onTimeSet()方法,在这个方法内,可以得到用户选中的时间。

二. 使用示例

下面是一个实际示例,在主面板(Activity)中,包含两个时间展示控件,一个是AnalogClock,另一个是DigitalClock,还包含一个日期选择按钮和时间选择按钮,当用户点击日期选择按钮时,弹出一个日期选择对话框让用户选择时间,并且用户点击Done的时候在主面板通过Toast的makeText函数显示对应的日期,用户点击时间选择按钮,弹出一个时间选择对话框,用户点击Done的时候在主面板通过Toast的makeText函数显示对应的时间。

主面板的布局XML文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="指针时钟:" />

    <AnalogClock
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="数字时钟:" />

    <DigitalClock
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="20dp" />
    <Button
        android:id="@+id/btnTimePickerDialog"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="选择时间"
        />
    <Button
        android:id="@+id/btnDatePickerDialog"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="选择日期"
        />
</LinearLayout>

对应的实现效果:

Android开发之DatePickerDialog和TimePickerDialog的用法

下面是Activity类对应的实现代码:

package com.example.myapplication2.app;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {
    private Button btnDate, btnTime;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_dialog);
        btnDate = (Button) findViewById(R.id.btnDatePickerDialog);
        btnTime = (Button) findViewById(R.id.btnTimePickerDialog);
        btnDate.setOnClickListener(this);
        btnTime.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btnDatePickerDialog:
                DatePickerDialog datePicker = new DatePickerDialog(MainActivity.this, new OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear,
                                          int dayOfMonth) {
                        // TODO Auto-generated method stub
                        Toast.makeText(MainActivity.this, year + "year " + (monthOfYear + 1) + "month " + dayOfMonth + "day", Toast.LENGTH_SHORT).show();
                    }
                }, 2013, 7, 20);
                datePicker.show();
                break;

            case R.id.btnTimePickerDialog:
                TimePickerDialog time = new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {

                    @Override
                    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                        // TODO Auto-generated method stub
                        Toast.makeText(MainActivity.this, hourOfDay + "hour " + minute + "minute", Toast.LENGTH_SHORT).show();
                    }
                }, 18, 25, true);
                time.show();
                break;
        }

    }
}

这个Activity的实现代码比较简单,都在onCreate函数中完成,这个Activity实现了OnClickListener接口,所以可以将其中的按钮对应的监听器直接设置为这个Activity,在onClick函数中通过getID判断触发的按钮从而定义对应的执行代码。

<12>
发表评论0条 】
网友评论(共?条评论)..
DatePickerDialog和TimePickerDialog的用法