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:
- Haga clic en Archivo, luego en Nuevo y luego en Nuevo proyecto y asigne el nombre que desee.
- Elija «Actividad vacía» para la plantilla del proyecto.
- Luego, seleccione Compatibilidad con el idioma Kotlin y haga clic en el botón siguiente.
- Seleccione SDK mínimo, lo que necesite
Así es como debería verse el directorio de su proyecto:
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>