1.AnalogClock圆形时钟;DigitalClock电子时钟;这两个时钟是不允许用户改变的。
<AnalogClock android:layout_width="wrap_content" android:layout_height="wrap_content" /> <DigitalClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18sp"/>
2.如何设定一段时间:例如设定起始时间和结束时间
首先看TimePickerDialog的构造方法:
什么时候使用TimePickerDialog.OnTimeSetListener callBack:当点击dialog中的完成时调用实现此接口的类
3.代码实现
布局文件activity_main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.android_anlogclock.MainActivity" > <AnalogClock android:layout_width="wrap_content" android:layout_height="wrap_content" /> <DigitalClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18sp" /> <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="显示TimePickerDialog" /> <Button android:id="@+id/button2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="显示DatePickerDialog" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </LinearLayout>
java文件MainActivity.java:package com.android.myAnalogClock; import java.util.Calendar; import android.app.Activity; import android.app.DatePickerDialog; import android.app.TimePickerDialog; 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 Main extends Activity implements OnClickListener { /** Called when the activity is first created. */ private Button button1, button2; private int hourOfDay, minute; private int year, monthOfYear, dayOfMonth; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button1 = (Button) this.findViewById(R.id.button1); button2 = (Button) this.findViewById(R.id.button2); button1.setOnClickListener(this); button2.setOnClickListener(this); // 获得当前的时间,获得小时和分钟 Calendar calendar = Calendar.getInstance(); hourOfDay = calendar.get(Calendar.HOUR_OF_DAY); minute = calendar.get(Calendar.MINUTE);// 获得当前的秒 year = calendar.get(Calendar.YEAR); monthOfYear = calendar.get(Calendar.MONTH); dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); } public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.button1: // TimePickerDialog timePickerDialog = new TimePickerDialog(Main.this, new MyTimePickerDialog(), hourOfDay, minute, true); timePickerDialog.show();// 显示对话框 break; case R.id.button2: DatePickerDialog datePickerDialog = new DatePickerDialog(Main.this, new MyDatePickerDialog(), year, monthOfYear, dayOfMonth); datePickerDialog.show();// 显示对话框 break; } } public class MyDatePickerDialog implements DatePickerDialog.OnDateSetListener { public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub Toast.makeText( Main.this, "year:" + year + "monthOfYear:" + monthOfYear + "dayOfMonth:" + dayOfMonth, 1).show(); } } public class MyTimePickerDialog implements TimePickerDialog.OnTimeSetListener { public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub Toast.makeText(Main.this, "hourOfDay:" + hourOfDay + "minute:" + minute, 1).show(); } } }