zoukankan      html  css  js  c++  java
  • Android学习之DatePicker和TimePicker

    在Android开发的应用程序中,通常都会有时间和日期选择的需求,下面就对日期选择控件DatePicker和时间选择控件TimePicker的基本使用方法进行介绍:
            DatePicker是一个日期选择控件,它继承自FrameLayout类,用来实现的主要功能是使用护可以方便选择日期。如果要捕获用户修改DataPicker控件中的数据改变事件,需要为DatePicker添加OnDateChangedListener监听器。
            TimePicker是一个时间选择控件,也继承自FrameLayout类。时间选择控件向用户显示一天中的时间(可以为24小时,也可以为AM/PM制),并允许用户进行选择。如果要捕获用户修改时间数据的事件,便需要为TimePicker添加OnTimeChangedListener监听器。

    1.效果图:

    2.XML代码:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="fill_parent"
     4     android:layout_height="fill_parent"
     5     android:orientation="vertical" >
     6 
     7     <TextView
     8         android:layout_width="fill_parent"
     9         android:layout_height="wrap_content"
    10         android:text="请选择时间:" />
    11 
    12     <DatePicker
    13         android:id="@+id/datePicker"
    14         android:layout_width="wrap_content"
    15         android:layout_height="wrap_content"
    16         android:layout_gravity="center_horizontal" />
    17 
    18     <TimePicker
    19         android:id="@+id/timePicker"
    20         android:layout_width="wrap_content"
    21         android:layout_height="wrap_content"
    22         android:layout_gravity="center_horizontal" />
    23 
    24     <EditText
    25         android:id="@+id/show"
    26         android:layout_width="fill_parent"
    27         android:layout_height="wrap_content"
    28         android:cursorVisible="false"
    29         android:editable="false" />
    30 
    31 </LinearLayout>

    3.java代码:

     1 package com.example.datapicker;
     2 
     3 import java.util.Calendar;
     4 import android.app.Activity;
     5 import android.os.Bundle;
     6 import android.widget.DatePicker;
     7 import android.widget.DatePicker.OnDateChangedListener;
     8 import android.widget.EditText;
     9 import android.widget.TimePicker;
    10 import android.widget.TimePicker.OnTimeChangedListener;
    11 
    12 public class MainActivity extends Activity {
    13     
    14     private DatePicker mDatePicker;
    15     private TimePicker mTimePicker;
    16     private EditText mEditText;
    17 
    18     // 定义5个记录当前时间的变量
    19     private int year;
    20     private int month;
    21     private int day;
    22     private int hour;
    23     private int minute;
    24 
    25     @Override
    26     public void onCreate(Bundle savedInstanceState) {
    27         super.onCreate(savedInstanceState);
    28         setContentView(R.layout.activity_main);
    29         
    30         initView();
    31         
    32     }
    33 
    34     private void initView() {
    35         mDatePicker = (DatePicker) findViewById(R.id.datePicker);
    36         mTimePicker = (TimePicker) findViewById(R.id.timePicker);
    37         mEditText = (EditText) findViewById(R.id.show);
    38         // 获取当前的年、月、日、小时、分钟
    39         Calendar c = Calendar.getInstance();
    40         year = c.get(Calendar.YEAR);
    41         month = c.get(Calendar.MONTH);
    42         day = c.get(Calendar.DAY_OF_MONTH);
    43         hour = c.get(Calendar.HOUR);
    44         minute = c.get(Calendar.MINUTE);
    45 
    46         
    47         //初始化DatePicker组件,初始化时指定监听器
    48         mDatePicker.init(year, month, day, new OnDateChangedListener() {
    49             @Override
    50             public void onDateChanged(DatePicker arg0, int year, int month,
    51                     int day) {
    52                 MainActivity.this.year = year;
    53                 MainActivity.this.month = month;
    54                 MainActivity.this.day = day;
    55                 // 显示当前日期、时间
    56                 showDate(year, month, day, hour, minute);
    57             }
    58         });
    59         
    60         // 为TimePicker指定监听器
    61         mTimePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
    62             @Override
    63             public void onTimeChanged(TimePicker arg0, int hour, int minute) {
    64                 MainActivity.this.hour = hour;
    65                 MainActivity.this.minute = minute;
    66                 // 显示当前日期、时间
    67                 showDate(year, month, day, hour, minute);
    68             }
    69         });
    70     }
    71 
    72     
    73     // 定义在EditText中显示当前日期、时间的方法
    74     private void showDate(int year, int month, int day, int hour, int minute) {
    75         mEditText.setText("日期为:" + year + "年" + month + "月" + day + "日  "
    76                 + hour + "时" + minute + "分");
    77     }
    78 }
  • 相关阅读:
    ReentrantReadWriteLock读写锁的使用
    Exchanger的使用
    CyclicBarrier的用法
    Semaphore的使用
    CountDownLatch的使用
    BlockingQueue的使用
    对字符串操作的各种笔试题
    struts2请求过程源码分析
    shell语法使用
    hibernate调用mysql存储过程
  • 原文地址:https://www.cnblogs.com/summers/p/4086740.html
Copyright © 2011-2022 走看看