Selector de fechas en Kotlin

Android DatePicker es un control de interfaz de usuario que se utiliza para seleccionar la fecha por día, mes y año en nuestra aplicación de Android. DatePicker se utiliza para garantizar que los usuarios seleccionen una fecha válida.
En Android DatePicker tiene dos modos, el primero para mostrar el calendario completo y el segundo muestra las fechas en la vista giratoria.
Podemos crear un control DatePicker de dos maneras, ya sea manualmente en un archivo XML o crearlo en un archivo de actividad mediante programación.
Primero creamos un nuevo proyecto siguiendo los siguientes pasos: 
 

  1. Haga clic en Archivo, luego en Nuevo => Nuevo proyecto .
  2. Después de eso, incluya el soporte de Kotlin y haga clic en siguiente.
  3. Seleccione el SDK mínimo según su conveniencia y haga clic en el botón Siguiente .
  4. Luego seleccione la actividad vacía => siguiente => finalizar .

DatePicker de Android con modo Calendario

Podemos usar android:datePickerMode para mostrar solo la vista del calendario. En el siguiente ejemplo, estamos usando DatePicker en modo Calendario. 
 

XML

<DatePicker
    android:id="@+id/datePicker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:datePickerMode="calendar"/>

El código anterior de DatePicker se puede ver en una aplicación de Android como esta 
 

DatePicker de Android con modo Spinner

También podemos mostrar DatePicker en formato de rueda giratoria, como seleccionar el día, el mes y el año por separado, usando el atributo android:datePickerMode y configurando android:calendarViewShown=”false” , de lo contrario, tanto la rueda giratoria como el calendario se pueden ver simultáneamente. 
 

XML

<DatePicker
    android:id="@+id/datePicker1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:datePickerMode="spinner"
    android:calendarViewShown="false"/>

El código anterior de DatePicker se puede ver en una aplicación de Android como esta 
 

Diferentes atributos del control DatePicker –

Atributos XML Descripción
Android: identificación Se utiliza para identificar de forma única el control.
android:modo selector de fecha Se utiliza para especificar el modo de selector de fecha (spinner o calendario)
android:calendarioTextoColor Se utiliza para especificar el color del texto.
android: vista de calendario mostrada Se utiliza para especificar si se muestra o no la vista del calendario.
android:fondo Se utiliza para establecer el color de fondo de la vista de texto.
Android: relleno Se utiliza para establecer el relleno de izquierda, derecha, arriba y abajo.

Para usar Calendar DatePicker en activity_main.xml

En este archivo, agregaremos el widget DatePicker y Button y estableceremos sus atributos para que se pueda acceder a ellos en el archivo kotlin. 
 

XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/linear_layout"
    android:gravity = "center">
  
    <DatePicker
        android:id="@+id/date_Picker"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>

Para usar Spinner DatePicker en activity_main.xml

En este archivo, agregaremos el widget DatePicker y Button y estableceremos sus atributos para que se pueda acceder a ellos en el archivo kotlin. 
 

XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/linear_layout"
    android:gravity = "center">
  
    <DatePicker
        android:id="@+id/date_Picker"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:datePickerMode = "spinner"
        android:calendarViewShown="false"/>
</LinearLayout>

Modifique el archivo strings.xml para agregar la array de strings

Aquí especificaremos el nombre de la actividad. 
 

XML

<resources>
    <string name="app_name">DatePickerInKotlin</string>
</resources>

Acceda a DatePicker en el archivo MainActivity.kt

En primer lugar, declaramos una variable datePicker para acceder al widget DatePicker desde el diseño XML. 
 

val datePicker = findViewById<DatePicker>(R.id.date_Picker)

luego, declaramos otra variable hoy para obtener el get actual como este. 
 

val today = Calendar.getInstance()
    datePicker.init(today.get(Calendar.YEAR), today.get(Calendar.MONTH),
    today.get(Calendar.DAY_OF_MONTH)

Para mostrar la fecha seleccionada del calendario usaremos 
 

 { view, year, month, day ->
            val month = month + 1
            val msg = "You Selected: $day/$month/$year"
            Toast.makeText(this@MainActivity, msg, Toast.LENGTH_SHORT).show()
 }

Estamos familiarizados con otras actividades en artículos anteriores, como acceder al botón y configurar OnClickListener, etc. 
 

Kotlin

package com.geeksforgeeks.myfirstkotlinapp
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.*
import java.util.*
  
class MainActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        val datePicker = findViewById<DatePicker>(R.id.date_Picker)
        val today = Calendar.getInstance()
        datePicker.init(today.get(Calendar.YEAR), today.get(Calendar.MONTH),
            today.get(Calendar.DAY_OF_MONTH)
  
        ) { view, year, month, day ->
            val month = month + 1
            val msg = "You Selected: $day/$month/$year"
            Toast.makeText(this@MainActivity, msg, Toast.LENGTH_SHORT).show()
        }
    }
}

Archivo AndroidManifest.xml

XML

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.geeksforgeeks.myfirstkotlinapp">
  
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
  
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
  
</manifest>

Ejecutar como emulador:

 

 

Publicación traducida automáticamente

Artículo escrito por Praveenruhil y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *