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:
- Haga clic en Archivo, luego en Nuevo => Nuevo proyecto .
- Después de eso, incluya el soporte de Kotlin y haga clic en siguiente.
- Seleccione el SDK mínimo según su conveniencia y haga clic en el botón siguiente .
- Luego seleccione la actividad vacía => siguiente => finalizar .
LinearLayout en el archivo activity_main.xml
En este archivo, usamos LinearLayout y no podemos agregar el widget de interruptor manualmente porque se creará dinámicamente en el archivo Kotlin.
XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rootContainer" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> </LinearLayout>
Agregue el nombre de la aplicación en el archivo strings.xml
Aquí, podemos poner todas las strings que se pueden usar en la aplicación en cualquier archivo. Entonces, actualizamos app_name que se puede ver en la parte superior de la actividad.
XML
<resources> <string name="app_name">DynamicSwitchInKotlin</string> </resources>
Crear interruptores mediante programación en el archivo MainActivity.kt
Aquí, inicializamos y definimos dos interruptores y los agregamos dinámicamente llamando a linearLayout.
linearLayout?.addView(switch1) linearLayout?.addView(switch2)
luego, configure OnClickListener en ambos interruptores para que funcionen como alternar el botón y el mensaje Toast como este.
switch1.setOnCheckedChangeListener { buttonView, isChecked -> val msg = if (isChecked) "SW1:ON" else "SW1:OFF" Toast.makeText(this@MainActivity, msg, Toast.LENGTH_SHORT).show() }
El código completo para el archivo Kotlin se encuentra a continuación.
Kotlin
package com.geeksforgeeks.myfirstkotlinapp import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.ViewGroup import android.widget.LinearLayout import android.widget.Switch import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Creating switch1 and switch2 programmatically val switch1 = Switch(this) val layoutParams = LinearLayout.LayoutParams(ViewGroup. LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT) switch1.layoutParams = layoutParams switch1.text = "Switch1" val switch2 = Switch(this) val layoutParams2 = LinearLayout.LayoutParams(ViewGroup. LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT) switch2.layoutParams = layoutParams2 switch2.text = "Switch2" val linearLayout = findViewById<LinearLayout>(R.id.rootContainer) // Adding Switches to LinearLayout linearLayout?.addView(switch1) linearLayout?.addView(switch2) switch1.setOnCheckedChangeListener { buttonView, isChecked -> val msg = if (isChecked) "SW1:ON" else "SW1:OFF" Toast.makeText(this@MainActivity, msg, Toast.LENGTH_SHORT).show() } switch2.setOnCheckedChangeListener { buttonView, isChecked -> val msg = if (isChecked) "SW2:ON" else "SW2:OFF" 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 para Salida:
Publicación traducida automáticamente
Artículo escrito por Praveenruhil y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA