Maison  >  Article  >  développement back-end  >  Série de contrôles de l'interface utilisateur Android : DatePicker, TimePicker (sélection de la date et de l'heure)

Série de contrôles de l'interface utilisateur Android : DatePicker, TimePicker (sélection de la date et de l'heure)

黄舟
黄舟original
2017-01-19 09:10:072348parcourir

La date et l'heure sont des fonctions disponibles sur n'importe quelle plateforme de téléphone mobile, et il en va de même pour Android.

DatePicker : utilisé pour implémenter la date (année, mois, jour)

TimePicker : utilisé pour implémenter l'heure (heure, minute, seconde)
Calendrier : le calendrier est un ensemble de dates annuelles objets et un champ entier Classe de base abstraite pour la conversion entre, comme le mois, le jour, l'heure, etc.

Par exemple,

final Calendar calendar=Calendar.getInstance();
mYear=calendar.get(Calendar.YEAR);—获取年份
mMonth=calendar.get(Calendar.MONTH);—获取月份
mDay=calendar.get(Calendar.DAY_OF_MONTH);—获取日
mHour=calendar.get(Calendar.HOUR_OF_DAY);—获取时
mMinute=calendar.get(Calendar.MINUTE);—获取分

et ainsi de suite, vous pouvez vous référer au document API

TimePickerDialog et DatePickerDialog sont des classes horaires sous la forme de boîtes de dialogue.

Sans plus attendre, l'exemple est le suivant :

Fichier DateTest.java

package org.loulijun.datetest;

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.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;

public class DateTest extends Activity {
    /** Called when the activity is first created. */
        TextView textview;
        TimePicker timepicker;
        DatePicker datepicker;
        Button btn1;
        Button btn2;
        //JAVA中的Calendar类
        Calendar c;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        /*Like other locale-sensitive classes, Calendar provides a class method, getInstance,
        *for getting a default instance of this class for general use.
        *Calendar's getInstance method returns a calendar whose locale is based on system settings
        *and whose time fields have been initialized with the current date and time:
        */
        c=Calendar.getInstance();
        textview=(TextView)findViewById(R.id.textview);
        btn1=(Button)findViewById(R.id.button1);
        btn2=(Button)findViewById(R.id.button2);

        //获取DatePicker对象
        datepicker=(DatePicker)findViewById(R.id.datepicker1);
        //将日历初始化为当前系统时间,并设置其事件监听
        datepicker.init(c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH),
                        new DatePicker.OnDateChangedListener() {

                                        @Override
                                        public void onDateChanged(DatePicker view, int year, int monthOfYear,
                                                        int dayOfMonth) {
                                                // TODO Auto-generated method stub
                                                //当前日期更改时,在这里设置
                                                c.set(year,monthOfYear,dayOfMonth);
                                        }
                                });
        //获取TimePicker对象
        timepicker=(TimePicker)findViewById(R.id.timepicker1);
        //设置为24小时制显示时间
        timepicker.setIs24HourView(true);
        //监听时间改变
        timepicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {

                        @Override
                        public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
                                // TODO Auto-generated method stub
                                //时间改变处理
                                //c.set(year,month,hourOfDay,minute,second);
                        }
                });

        btn1.setOnClickListener(new Button.OnClickListener()
        {
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                new DatePickerDialog(DateTest.this,
                                                new DatePickerDialog.OnDateSetListener() {

                                                        @Override
                                                        public void onDateSet(DatePicker view, int year, int monthOfYear,
                                                                        int dayOfMonth) {
                                                                        //设置日历
                                                        }
                                                },c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH)).show();
                        }
        });

        btn2.setOnClickListener(new Button.OnClickListener()
        {

                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                new TimePickerDialog(DateTest.this,
                                                new TimePickerDialog.OnTimeSetListener() {

                                                        @Override
                                                        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                                                                // TODO Auto-generated method stub
                                                                //设置时间
                                                        }
                                                },c.get(Calendar.HOUR_OF_DAY),c.get(Calendar.MINUTE),true).show();
                        }

        });
    }
}

fichier main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
        android:id="@+id/textview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="时间控件使用"
    />
<DatePicker
        android:id="@+id/datepicker1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
/>
<TimePicker
        android:id="@+id/timepicker1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
/>
<Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="设置日期"
        android:layout_gravity="center"
/>
<Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="设置时间"
        android:layout_gravity="center"
/>
</LinearLayout>

Les résultats en cours d'exécution sont les suivants :

Série de contrôles de linterface utilisateur Android : DatePicker, TimePicker (sélection de la date et de lheure)

Lorsque vous cliquez sur le bouton "Définir la date", le style de boîte de dialogue suivant DatePickerDialog sera affiché

Série de contrôles de linterface utilisateur Android : DatePicker, TimePicker (sélection de la date et de lheure)

Lorsque vous cliquez sur le bouton "Définir l'heure", le TimePickerDialog avec le style de boîte de dialogue suivant apparaîtra

Série de contrôles de linterface utilisateur Android : DatePicker, TimePicker (sélection de la date et de lheure)

Ce qui précède est le Série de contrôles de l'interface utilisateur Android : DatePicker, TimePicker (sélection de la date et de l'heure). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn