Boîte de dialog de sélection de date et heure

Je veux créer une boîte de dialog permettant de sélectionner l’ heure et la date en même temps .
Je sais qu’il n’y a pas de widget par défaut qui peut le faire sur Android . Je sais aussi qu’il existe des projets open source sur la manière de former un personnel similaire. Le problème dans ce projet est que dans la boîte de dialog, nous avons deux boutons: datePicker et timePicker .

entrer la description de l'image ici

Et ce n’est pas ce que je veux faire – je veux que le sélecteur de date et d’heure apparaisse en même temps.
Je pense donc que les deux principaux problèmes seront:

  1. D’abord, faites apparaître le sélecteur de date et d’heure dans la même boîte de dialog.
  2. Et le deuxième problème sera de changer l’apparence du sélecteur de date et d’heure (la couleur orange).

Le premier problème a été résolu par Bhavesh. Voici ce que je reçois:

entrer la description de l'image ici

Le problème maintenant est que je veux changer toute la couleur de la barre bleue en couleur orange .
J’ai ajouté android:calendarViewShown="false" pour supprimer le calendrier à droite 🙂 Merci Bhavesh et j’ai changé le thème en HOLO
Voici ce que je reçois:

entrer la description de l'image ici

Vous pouvez télécharger le code (c’est le mieux que je puisse faire). Vous pouvez télécharger à partir d’ ici .

Commencez par faire apparaître le sélecteur de date et heure dans la même boîte de dialog

Ici, je peux vous aider: vous pouvez créer une mise en page comprenant un DatePicker et un TimePicker dans un LinearLayout dont l’orientation est définie sur verticale.

custom_dialog.xml:

        

Utilisez ensuite cette disposition pour créer votre boîte de dialog.

 Dialog dialog = new Dialog(mContext); dialog.setContentView(R.layout.custom_dialog); dialog.setTitle("Custom Dialog"); 

Pour réagir à l’interaction de l’utilisateur avec votre TimePicker , procédez comme TimePicker :

 TimePicker tp = (TimePicker)dialog.findViewById(R.id.timepicker1); tp.setOnTimeChangedListener(myOnTimechangedListener); 

Pour obtenir les valeurs de Date- et TimePicker lorsque l’utilisateur a fini de les définir, ajoutez un bouton OK dans votre boîte de dialog, puis lisez les valeurs de date et d’heure de Date- et TimePicker lorsque l’utilisateur appuie sur OK.

Pour faire quelque chose qui ressemble exactement à vos captures d’écran, je vous recommande de faire toutes les choses avec votre propre logique.

Pour changer les couleurs de la barre bleue, essayez ce qui suit.

Définissez votre propre thème comme suit, qui étend THEME_HOLO_DARK

Essayez comme suit: –

  

Vérifiez l’application suivante change-basic-theme-color-of-android

Il y a beaucoup de solutions disponibles il y en a une, j’aime cette méthode simple:

 Ssortingng mDateTime; void getDateTime(){ final Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH); final int hour = c.get(Calendar.HOUR_OF_DAY); final int minute = c.get(Calendar.MINUTE); mDateTime = ""; new DatePickerDialog( mContext, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { mDateTime = year +"-"+ month +"-"+ dayOfMonth; new Handler().postDelayed(new Runnable() { @Override public void run() { new TimePickerDialog(mContext, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { mDateTime+=" "+hourOfDay+":"+minute; } }, hour, minute, false).show(); } },500); } }, year, month, day).show(); }