studio pedir obtener mostrar hora fecha español como actual android datepicker datetimepicker timepicker

android - pedir - Cuadro de diálogo de selección de fecha y hora



mostrar hora y fecha en android studio (3)

Quiero crear un cuadro de diálogo que puede seleccionar la hora y la fecha al mismo tiempo .
Sé que no hay un widget predeterminado que pueda hacer eso en Android . También sé que hay proyectos de código abierto sobre cómo hacer personal similar. El problema en este proyecto es que en el diálogo tenemos dos botones: datePicker y timePicker .

Y eso no es lo que quiero hacer, quiero que el selector de fecha y hora aparezca al mismo tiempo.
Así que creo que los dos problemas principales serán:

  1. Primero haga que el selector de fecha y hora aparezca en el mismo cuadro de diálogo.
  2. Y el segundo problema será cambiar la apariencia del selector de fecha y hora (el color naranja).

El primer problema fue resuelto por Bhavesh. Esto es lo que obtengo:

El problema ahora es que quiero cambiar todo el color de la barra azul al color naranja .
Agregué android:calendarViewShown="false" para eliminar el calendario a la derecha :) Gracias Bhavesh y cambié el tema a HOLO
Esto es lo que obtengo:

Puedes descargar el código (eso es lo mejor que puedo hacer). Puedes descargar desde here .


Hay muchas soluciones disponibles, hay una de ellas, me gusta este método simple:

String 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(); }


Primero haga que el selector de fecha y hora aparezca en el mismo cuadro de diálogo

Aquí puedo ayudarlo con algunas TimePicker : puede crear un diseño que consta de un DatePicker y un TimePicker en un LinearLayout con la orientación establecida en vertical.

custom_dialog.xml:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <DatePicker android:id="@+id/datePicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" > </DatePicker> <TimePicker android:id="@+id/timePicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" > </TimePicker> </LinearLayout>

Luego usa este diseño para crear tu diálogo.

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

Para reaccionar ante el usuario que interactúa con su TimePicker , haga algo como esto:

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

Para obtener los valores del Selector de fecha y hora cuando el usuario haya terminado de configurarlos, agregue un botón Aceptar en el cuadro de diálogo y luego lea los valores de fecha y hora del Selector de fecha y hora cuando el usuario presione Aceptar.

Para hacer algo que se vea exactamente como en sus capturas de pantalla, le recomiendo que haga todo a la medida con su propia lógica.


Para cambiar los colores de la barra azul intente lo siguiente.

Defina su propio tema de la siguiente manera, que amplía THEME_HOLO_DARK

Intente lo siguiente:

<style name="testo" parent="@android:style/Widget.DeviceDefault.DatePicker"> <item name="android:divider">@drawable/MyDivider</item> </style>

Verifique la siguiente aplicación de change-basic-theme-color-of-android-application