Casilla de verificación en Kotlin

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

Diagram of Class hierarchy of CheckBox class in 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

  1. Haga clic en Archivo, luego en Nuevo => Nuevo proyecto.
  2. Elija «Actividad vacía» para la plantilla del proyecto.
  3. Seleccione el idioma como Kotlin.
  4. 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.xmlque 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.ktque 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.xmlel 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

Screenshot of CheckBox activity

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

Deja una respuesta

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