Exemple de sélecteur de temps Android
Sous Android, vous pouvez utiliser la classe «http://developer.android.com/reference/android/widget/TimePicker.html[android.widget.TimePicker]» pour rendre un composant de sélecteur de temps afin de sélectionner l'heure et la minute dans une pré- interface utilisateur définie.
Dans ce tutoriel, nous vous montrons comment rendre le composant de sélection de temps viaandroid.widget.TimePicker dans la page actuelle, et également dans la boîte de dialogue viaandroid.app.TimePickerDialog. De plus, nous vous montrons également comment définir un composant de sélecteur d'heure et de minute.
P.S This project is developed in Eclipse 3.7, and tested with Android 2.3.3.
1. TimePicker
Ouvrez le fichier «res/layout/main.xml», ajoutez un sélecteur de temps, une étiquette et un bouton pour la démonstration.
Fichier: res / layout / main.xml
P.S The “TimePickerDialog
” is declare in code, not XML.
2. Code Code
Lisez le commentaire du code, il devrait être explicite.
Fichier: MyAndroidAppActivity.java
package com.example.android; import java.util.Calendar; import android.app.Activity; import android.app.Dialog; import android.app.TimePickerDialog; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.TimePicker; public class MyAndroidAppActivity extends Activity { private TextView tvDisplayTime; private TimePicker timePicker1; private Button btnChangeTime; private int hour; private int minute; static final int TIME_DIALOG_ID = 999; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setCurrentTimeOnView(); addListenerOnButton(); } // display current time public void setCurrentTimeOnView() { tvDisplayTime = (TextView) findViewById(R.id.tvTime); timePicker1 = (TimePicker) findViewById(R.id.timePicker1); final Calendar c = Calendar.getInstance(); hour = c.get(Calendar.HOUR_OF_DAY); minute = c.get(Calendar.MINUTE); // set current time into textview tvDisplayTime.setText( new StringBuilder().append(pad(hour)) .append(":").append(pad(minute))); // set current time into timepicker timePicker1.setCurrentHour(hour); timePicker1.setCurrentMinute(minute); } public void addListenerOnButton() { btnChangeTime = (Button) findViewById(R.id.btnChangeTime); btnChangeTime.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { showDialog(TIME_DIALOG_ID); } }); } @Override protected Dialog onCreateDialog(int id) { switch (id) { case TIME_DIALOG_ID: // set time picker as current time return new TimePickerDialog(this, timePickerListener, hour, minute,false); } return null; } private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int selectedHour, int selectedMinute) { hour = selectedHour; minute = selectedMinute; // set current time into textview tvDisplayTime.setText(new StringBuilder().append(pad(hour)) .append(":").append(pad(minute))); // set current time into timepicker timePicker1.setCurrentHour(hour); timePicker1.setCurrentMinute(minute); } }; private static String pad(int c) { if (c >= 10) return String.valueOf(c); else return "0" + String.valueOf(c); } }
P.S The “TimePickerDialog” example above, is referenced from Google Android time picker example, avec quelques modifications mineures.
3. Demo
Exécutez l'application.
1. Le résultat, le «sélecteur de temps» et la «visualisation de texte» sont réglés sur l'heure actuelle.
2. Cliquez sur le bouton «Changer l'heure», il affichera un composant de sélection d'heure dans une boîte de dialogue viaTimePickerDialog
.
3. Le "sélecteur de temps" et la "visualisation de texte" sont mis à jour avec l'heure sélectionnée.
Télécharger le code source
Téléchargez-le -Android-TimePicker-Example.zip (16 Ko)