ToggleButton dinámico en Kotlin

En Android , ToggleButton es como un interruptor que contiene dos estados, ENCENDIDO o APAGADO , que se representa mediante valores booleanos verdadero y falso, respectivamente. ToggleButton a diferencia del interruptor no tiene una interfaz deslizante, es decir, no podemos deslizar para cambiar los estados. Es como un botón. En este artículo, discutiremos cómo crear un ToggleButton en Kotlin dinámicamente.

Nota: ToggleButton hereda la clase de botón de android . Por lo tanto, todos los atributos del botón también son aplicables aquí.

Los siguientes son algunos de los atributos importantes adicionales disponibles a lo largo de ToggleButton

ATRIBUTOS DESCRIPCIÓN
android:disabledAlpha Se utiliza para ajustar el valor alfa del botón cuando está deshabilitado
Android:textOn El texto que se muestra cuando el botón está activado o marcado
android:textOff El texto que se muestra cuando el botón está apagado o sin marcar

Crear un nuevo proyecto en Android Studio

Para crear un nuevo proyecto en Android Studio, siga estos pasos:

  1. Haga clic en Archivo, luego en Nuevo y luego en Nuevo proyecto y asigne el nombre que desee.
  2. Elija «Actividad vacía» para la plantilla del proyecto.
  3. Luego, seleccione Compatibilidad con el idioma Kotlin y haga clic en el botón siguiente.
  4. Seleccione SDK mínimo, lo que necesite

Así es como debería verse el directorio de su proyecto:
android-project-directory

Modificar archivo activity_main.xml

XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/layout"
    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">
</LinearLayout>

Crear ToogleButton en el archivo MainActivity.kt

Inserta el siguiente código en tu MainActivity.kt.

Java

package gfg.apps.togglebutton
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.Toast
import android.widget.ToggleButton
  
class MainActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // accessing the layout
        val linearLayout = findViewById<LinearLayout>(R.id.layout)
  
        // Create ToggleButton Dynamically
        val toggleButton = ToggleButton(this)
        toggleButton.layoutParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
          
        // checking the state of button and printing toast accordingly
        toggleButton.setOnCheckedChangeListener { buttonView, isChecked ->
            val msg = "GFG SALE is " + if (isChecked) "ON" else "OFF"
            Toast.makeText(this@MainActivity, msg, Toast.LENGTH_SHORT).show()
        }
  
        // Add ToggleButton to LinearLayout
        linearLayout?.addView(toggleButton)
    }
}

Archivo AndroidManifest.xml

XML

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="gfg.apps.togglebutton">
  
    <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 en emulador

Publicación traducida automáticamente

Artículo escrito por Abhishek7 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 *