Un CheckBox es un tipo especial de botón en Android que tiene dos estados, ya sea marcado o sin marcar. El Checkbox es un widget muy común que se usa en Android y un muy buen ejemplo es la opción “Recordarme” en cualquier tipo de actividad de inicio de sesión de una aplicación que le pide al usuario que active o desactive ese servicio. Hay muchos otros usos del widget CheckBox, como ofrecer una lista de opciones para que el usuario elija y las opciones son mutuamente excluyentes, es decir, el usuario puede seleccionar más de una opción. Esta característica de CheckBox lo convierte en una mejor opción para diseñar aplicaciones de preguntas de opción múltiple o aplicaciones de encuestas en Android.
Jerarquía de clases de la clase CheckBox en Kotlin
Atributos XML del widget CheckBox
Atributos XML | Descripción |
---|---|
Android: identificación | Se utiliza para identificar de forma única un CheckBox |
Android: marcado | Para establecer el estado predeterminado de un CheckBox como marcado o desmarcado |
android:fondo | Para establecer el color de fondo de un CheckBox |
android:texto | Se utiliza para almacenar un texto dentro del CheckBox |
Android: familia de fuentes | Para establecer la fuente del texto del CheckBox |
Android:Tamaño del texto | Para establecer el tamaño del texto de CheckBox |
Android: diseño_ancho | Para establecer el ancho de CheckBox |
android:layout_height | Para establecer la altura de la casilla de verificación |
Android: gravedad | Se utiliza para ajustar la alineación del texto CheckBox |
Android: relleno | Se usa para ajustar el relleno izquierdo, derecho, superior e inferior del CheckBox |
Ejemplo
Este ejemplo demuestra los pasos involucrados en el diseño de una actividad que consta de 5 casillas de verificación y un botón de envío adicional para mostrar un mensaje de brindis que indica que se registró la respuesta del usuario.
Nota: Los siguientes pasos se realizan en Android Studio versión 4.0
Crear nuevo proyecto
- Haga clic en Archivo, luego en Nuevo => Nuevo proyecto.
- Elija «Actividad vacía» para la plantilla del proyecto.
- Seleccione el idioma como Kotlin.
- Seleccione el SDK mínimo según su necesidad.
Abra el archivo activity_main.xml
A continuación se muestra el código para activity_main.xml
que el archivo agregue 5 CheckBox. También se agrega un botón normal de «enviar» para mostrar un mensaje de brindis que indica que se ha registrado la respuesta del usuario.
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#168BC34A" tools:context=".MainActivity" > <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/Heading" android:textAlignment="center" android:textColor="@android:color/holo_green_dark" android:textSize="36sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.17000002" /> <LinearLayout android:id="@+id/checkBox_container" android:layout_width="0dp" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView" app:layout_constraintVertical_bias="0.18"> <CheckBox android:id="@+id/checkBox" android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/checkBox1_text" android:textSize="18sp" android:padding="7dp"/> <CheckBox android:id="@+id/checkBox2" android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/checkBox2_text" android:textSize="18sp" android:padding="7dp"/> <CheckBox android:id="@+id/checkBox3" android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/checkBox3_text" android:textSize="18sp" android:padding="7dp"/> <CheckBox android:id="@+id/checkBox4" android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/checkBox4_text" android:textSize="18sp" android:padding="7dp"/> <CheckBox android:id="@+id/checkBox5" android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/roboto" android:text="@string/checkBox5_text" android:textSize="18sp" android:padding="7dp"/> </LinearLayout> <Button android:id="@+id/submitButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#AB4CAF50" android:fontFamily="@font/roboto" android:text="@string/submitButton" android:textSize="18sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/checkBox_container" app:layout_constraintVertical_bias="0.23000002" /> </androidx.constraintlayout.widget.ConstraintLayout>
Abra el archivo MainActivity.kt
A continuación se muestra el código para MainActivity.kt
que el archivo acceda al widget CheckBox en el archivo kotlin y muestre un mensaje adecuado cada vez que el usuario haga clic en el botón Enviar.
package com.example.checkboxinkotlin import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Assigning id of the submit button val button : Button = findViewById(R.id.submitButton) // Actions to be performed // when Submit button is clicked button.setOnClickListener{ // Display toast message Toast.makeText(applicationContext, "Your response has been recorded", Toast.LENGTH_LONG).show() } } }
Modificar el archivo strings.xml
Todas las strings que se utilizan en la actividad, desde la vista de texto hasta los textos de casilla de verificación, se enumeran en este archivo.
<resources> <string name="app_name">CheckBox in Kotlin</string> <string name="Heading">Services provided by GeeksforGeeks</string> <string name="checkBox1">Coding contests</string> <string name="checkBox2_text">Civil Engineering Courses</string> <string name="checkBox1_text">Coding Contests</string> <string name="checkBox3_text">Computer Science Courses</string> <string name="checkBox4_text">Company specific coding questions</string> <string name="checkBox5_text">Download movies</string> <string name="submitButton">SUBMIT</string> </resources>
Archivo AndroidManifest.xml
A continuación se muestra el código para AndroidManifest.xml
el archivo.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http:// schemas.android.com/apk/res/android" package="com.example.checkboxinkotlin"> <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>
Producción
Publicación traducida automáticamente
Artículo escrito por RISHU_MISHRA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA