En Android, un Time Picker es un elemento de interfaz de usuario moderno, utilizado en aplicaciones como Alarma y Recordatorios, que requiere que los usuarios seleccionen un momento particular para realizar una tarea en particular. Es un control de interfaz de usuario para seleccionar la hora en formato de 24 horas o en modo AM/PM.
En este artículo, le mostraremos cómo podría implementar un Time Picker en Android utilizando Jetpack Compose . Siga los pasos a continuación una vez que el IDE esté listo.
Implementación paso a paso
Paso 1: crea un nuevo proyecto en Android Studio
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Al elegir la plantilla, seleccione Actividad de composición vacía . Si no encuentra esta plantilla, intente actualizar Android Studio a la última versión. Demostramos la aplicación en Kotlin , así que asegúrese de seleccionar Kotlin como idioma principal al crear un nuevo proyecto.
Paso 2: trabajar con el archivo MainActivity.kt
Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.
Kotlin
package com.geeksforgeeks.jctimepicker import android.app.TimePickerDialog import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.* import androidx.compose.material.* import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import java.util.* class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { // Calling the composable function // to display element and its contents MainContent() } } } // Creating a composable // function to display Top Bar @Composable fun MainContent() { Scaffold( topBar = { TopAppBar(title = { Text("GFG | Time Picker", color = Color.White) }, backgroundColor = Color(0xff0f9d58)) }, content = { MyContent() } ) } // Creating a composable function // to create a Time Picker // Calling this function as content // in the above function @Composable fun MyContent(){ // Fetching local context val mContext = LocalContext.current // Declaring and initializing a calendar val mCalendar = Calendar.getInstance() val mHour = mCalendar[Calendar.HOUR_OF_DAY] val mMinute = mCalendar[Calendar.MINUTE] // Value for storing time as a string val mTime = remember { mutableStateOf("") } // Creating a TimePicker dialod val mTimePickerDialog = TimePickerDialog( mContext, {_, mHour : Int, mMinute: Int -> mTime.value = "$mHour:$mMinute" }, mHour, mMinute, false ) Column(modifier = Modifier.fillMaxSize(), verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally) { // On button click, TimePicker is // displayed, user can select a time Button(onClick = { mTimePickerDialog.show() }, colors = ButtonDefaults.buttonColors(backgroundColor = Color(0XFF0F9D58))) { Text(text = "Open Time Picker", color = Color.White) } // Add a spacer of 100dp Spacer(modifier = Modifier.size(100.dp)) // Display selected time Text(text = "Selected Time: ${mTime.value}", fontSize = 30.sp) } } // For displaying preview in // the Android Studio IDE emulator @Preview(showBackground = true) @Composable fun DefaultPreview() { MainContent() }
Producción:
En la siguiente grabación, puede ver que podemos implementar un TimePicker y también mostrar el tiempo seleccionado.
Publicación traducida automáticamente
Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA