Cambiar en Kotlin

Android Switch también es un elemento de interfaz de usuario de dos estados que se usa para alternar entre ENCENDIDO y APAGADO como un botón. Al tocar el botón, podemos arrastrarlo hacia adelante y hacia atrás para que se encienda o se apague.
El elemento Switch es útil cuando solo dos estados requieren para la actividad elegir ON u OFF. Podemos agregar un Switch al diseño de nuestra aplicación usando el objeto Switch. De forma predeterminada, el estado de Android Switch es el estado APAGADO. También podemos cambiar el estado de Switch a ON configurando android:checked = «true» en nuestro archivo de diseño XML.
En Android, podemos crear el control Switch de dos maneras, ya sea usando Switch en un archivo de diseño XML o creándolo dinámicamente en un archivo Kotlin.
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 .

Diferentes atributos del widget Switch

Atributos XML Descripción
Android: identificación Se utiliza para identificar de forma única el control.
Android: gravedad Se utiliza para especificar cómo alinear el texto como izquierda, derecha, centro, arriba, etc.
Android: marcado Se utiliza para especificar el estado actual del control de interruptores.
Android:pulgar Se utiliza para establecer dibujable para ser utilizado como pulgar que se puede mover hacia adelante y hacia atrás.
Android: tinte de pulgar Se utiliza para establecer el tinte para aplicar al pulgar.
android:texto Se utiliza para establecer el texto del interruptor.
Android:textOn Se utiliza para configurar el texto cuando el botón de alternar está en estado ON (marcado).
android:textOff Se utiliza para establecer el texto cuando el botón de alternar está en estado desactivado (sin marcar).
Android: estilo de texto Se utiliza para establecer el estilo del texto. Por ejemplo, negrita, cursiva, negrita cursiva, etc.
Android: color de texto Se utiliza para establecer el color del texto.
Android:Tamaño del texto Se utiliza para establecer el tamaño del texto.
android:fondo Se utiliza para establecer el color de fondo del botón de alternancia.
android: fondo dibujable Se utiliza para establecer dibujable en la parte inferior del texto.
android: dibujable a la izquierda Se utiliza para establecer dibujable a la izquierda del texto.
android: dibujable Derecho Se utiliza para establecer dibujable a la derecha del texto.
Android: relleno Se utiliza para establecer el relleno de izquierda, derecha, arriba y abajo.

Agregar código Switch en el archivo activity_main.xml

En este archivo, usaremos LinearLayout y dos interruptores dentro de él. Establezca los atributos de cada interruptor, como la identificación del interruptor, el texto, etc. 
 

XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">
 
    <Switch
        android:id="@+id/switch1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Switch1"/>
    <Switch
        android:id="@+id/switch2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Switch2"/>
</LinearLayout>

Agregue el nombre de la aplicación en strings.xml . 
 

XML

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

Acceso al widget Switch en el archivo MainActivity.kt

Aquí, accederemos a los interruptores usando sus respectivos ID y configuraremos el mensaje Listener y Toast si un interruptor está marcado (ON). 
En primer lugar, declare una variable para obtener el interruptor usando su id. 
 

val sw1 = findViewById(R.id.switch1)

luego, configure el oyente OnClick en el interruptor y use la condición if para verificar el estado del botón. 
 

 
sw1?.setOnCheckedChangeListener({ _ , isChecked ->
            val message = if (isChecked) "Switch1:ON" else "Switch1:OFF"
            Toast.makeText(this@MainActivity, message,
                Toast.LENGTH_SHORT).show()
        })

Repita el proceso para otro cambio en el archivo kotlin. 
 

Kotlin

package com.geeksforgeeks.myfirstkotlinapp
import android.os.Bundle
import android.widget.Switch
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
 
class MainActivity : AppCompatActivity() {
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
 
        val sw1 = findViewById<Switch>(R.id.switch1)
        sw1?.setOnCheckedChangeListener({ _ , isChecked ->
            val message = if (isChecked) "Switch1:ON" else "Switch1:OFF"
            Toast.makeText(this@MainActivity, message,
                Toast.LENGTH_SHORT).show()
        })
 
        val sw2 = findViewById<Switch>(R.id.switch2)
        sw2?.setOnCheckedChangeListener({ _ , isChecked ->
            val message = if (isChecked) "Switch2:ON" else "Switch2:OFF"
            Toast.makeText(this@MainActivity, message,
                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 para la salida:

Aquí, se muestran dos interruptores en el emulador cuando ejecutamos el código anterior. Podemos cambiar el estado de los interruptores de forma independiente. 
 

 
 

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 *