【Android 开发教程】DatePicker
来源:互联网 发布:透过现象看本质 知乎 编辑:程序博客网 时间:2024/05/22 01:42
本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。
原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/DataPicker和上一节讲的TimePicker很相似。使用DatePicker,可以让用户选择一个特定的日期。下面展示如何使用DatePicker。
1. 使用上一节的工程,BasicViews4,修改main.xml。
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <Button android:id="@+id/btnSet"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="I am all set!"
- android:onClick="onClick" />
- <DatePicker android:id="@+id/datePicker"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
- <TimePicker android:id="@+id/timePicker"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
- </LinearLayout>
3. 在BasicViews4Activity.java中添加一些代码
- public class BasicViews4Activity extends Activity {
- TimePicker timePicker;
- DatePicker datePicker;
- int hour, minute;
- int yr, month, day;
- static final int TIME_DIALOG_ID = 0;
- static final int DATE_DIALOG_ID = 1;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- timePicker = (TimePicker) findViewById(R.id.timePicker);
- timePicker.setIs24HourView(true);
- // showDialog(TIME_DIALOG_ID);
- datePicker = (DatePicker) findViewById(R.id.datePicker);
- //---get the current date---
- Calendar today = Calendar.getInstance();
- yr = today.get(Calendar.YEAR);
- month = today.get(Calendar.MONTH);
- day = today.get(Calendar.DAY_OF_MONTH);
- showDialog(DATE_DIALOG_ID);
- }
- @Override
- protected Dialog onCreateDialog(int id)
- {
- switch (id) {
- case TIME_DIALOG_ID:
- return new TimePickerDialog(
- this, mTimeSetListener, hour, minute, false);
- case DATE_DIALOG_ID:
- return new DatePickerDialog(
- this, mDateSetListener, yr, month, day);
- }
- return null;
- }
- private DatePickerDialog.OnDateSetListener mDateSetListener =
- new DatePickerDialog.OnDateSetListener()
- {
- public void onDateSet(
- DatePicker view, int year, int monthOfYear, int dayOfMonth)
- {
- yr = year;
- month = monthOfYear;
- day = dayOfMonth;
- Toast.makeText(getBaseContext(),
- "You have selected : " + (month + 1) +
- "/" + day + "/" + year,
- Toast.LENGTH_SHORT).show();
- }
- };
- private TimePickerDialog.OnTimeSetListener mTimeSetListener =
- new TimePickerDialog.OnTimeSetListener()
- {
- public void onTimeSet(
- TimePicker view, int hourOfDay, int minuteOfHour)
- {
- hour = hourOfDay;
- minute = minuteOfHour;
- SimpleDateFormat timeFormat = new SimpleDateFormat("hh:mm aa");
- Date date = new Date(0,0,0, hour, minute);
- String strDate = timeFormat.format(date);
- Toast.makeText(getBaseContext(),
- "You have selected " + strDate,
- Toast.LENGTH_SHORT).show();
- }
- };
- public void onClick(View view) {
- Toast.makeText(getBaseContext(),
- "Date selected:" + (datePicker.getMonth() + 1) +
- "/" + datePicker.getDayOfMonth() +
- "/" + datePicker.getYear() + "\n" +
- "Time selected:" + timePicker.getCurrentHour() +
- ":" + timePicker.getCurrentMinute(),
- Toast.LENGTH_SHORT).show();
- }
- }
- 【Android 开发教程】DatePicker
- Android控件开发之DatePicker
- Android控件开发之DatePicker
- Android 开发中DatePicker、TimePicker
- Android开发--DatePicker(日期设置,年月日设置)
- android开发如何去掉DatePicker的日历
- android控件开发之TimePicker和DatePicker
- DatePicker 控件的使用 android 开发
- Yii Framework 开发教程(36) Zii组件-DatePicker示例
- Yii Framework 开发教程(36) Zii组件-DatePicker示例
- My97 DatePicker官方教程
- android开发中DatePicker控件的使用-------->时间的设置
- Android开发————DatePicker学习笔记
- Android开发之DatePicker控件与TimePicker控件
- android开发奇葩事之DatePicker TimePicker 样式
- Android开发——DatePicker和TimePicker时间选择器
- Android开发笔记:基础控件之DatePicker用法
- Rails Jquery datepicker 使用教程
- 【Android 开发教程】TimePicker
- 常见设计模式的解析和实现(C++)之三-Builder模式
- “火柴棍式”程序员面试题
- C#(Visual Studio)颜色设置
- 不用编程,能直接计算正确么?
- 【Android 开发教程】DatePicker
- linux 共享内存消息队列使用
- 卡片布局的一个很好的应用
- inno setup 安装 .net 服务
- 两个程序块在不同情况下哪个更快
- 可以继承的C++ Singleton基类
- Css margin 对各浏览器支持的解决方法
- 一位前辈工程师职业发展的忠告
- 常见设计模式的解析和实现(C++)之四-Prototype模式