En Android, Switch es un widget de interruptor de palanca de dos estados que se usa para seleccionar una opción entre dos opciones. Generalmente es un botón de encendido/apagado que indica el estado actual del interruptor. Funciones básicas normales para las que se puede usar el interruptor en ActionBar de la aplicación:
- Para cambiar al modo oscuro o al modo claro en la aplicación.
- Para activar o desactivar los servicios de la aplicación.
- Para activar/desactivar Bluetooth o funciones relacionadas con los medios, etc.
Ahora veamos la implementación paso a paso para hacerlo.
Implementación paso a paso
Paso 1: Crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.
Paso 2: Vaya a «res» y cree un nuevo directorio y asígnele el nombre «menú»
Consulte este artículo Crear carpeta de menú y archivo de menú en Android Studio y cree un nuevo archivo de recursos de menú y asígnele el nombre » action_menu «. Además, vaya a diseño y cree un nuevo archivo de recursos de diseño y asígnele el nombre » use_switch «.
Paso 3: abra el archivo action_menu.xml y use el siguiente código en él
XML
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/switch_action_bar" android:title="Switch" app:actionLayout="@layout/use_switch" app:showAsAction="always" /> </menu>
Paso 4: abra el archivo use_switch.xml y use el siguiente código en él
XML
<?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" android:layout_width="match_parent" android:layout_height="match_parent"> <Switch android:id="@+id/switch2" android:layout_width="63dp" android:layout_height="58dp" android:padding="6dp" android:scaleX="1.3" android:scaleY="1.3" android:switchMinWidth="40dp" android:textSize="8sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.001" /> </androidx.constraintlayout.widget.ConstraintLayout>
Paso 5: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml .
XML
<?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" tools:context=".MainActivity"> <!-- you can use any image according to you --> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.434" app:srcCompat="@drawable/gfgimage" /> <ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintBottom_toTopOf="@+id/imageView" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.497" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.918" app:srcCompat="@drawable/gfgimage" /> </androidx.constraintlayout.widget.ConstraintLayout>
Paso 6: trabajar con el archivo MainActivity.java
Vaya al archivo MainActivity.java y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.java .
Java
import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.CompoundButton; import android.widget.Switch; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.action_menu, menu); MenuItem itemswitch = menu.findItem(R.id.switch_action_bar); itemswitch.setActionView(R.layout.use_switch); final Switch sw = (Switch) menu.findItem(R.id.switch_action_bar).getActionView().findViewById(R.id.switch2); sw.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { Toast.makeText(MainActivity.this, "Switch is working", Toast.LENGTH_SHORT).show(); } } }); return true; } }
Producción:
Por lo tanto, desarrollamos una aplicación en la que podemos usar el interruptor en la barra de acción de la aplicación para implementar funciones básicas de una aplicación. El mismo proceso se puede aplicar en cualquier otra aplicación para agregar un interruptor en ActionBar y se puede usar para implementar cualquier función según la necesidad de la aplicación.
Publicación traducida automáticamente
Artículo escrito por jangirkaran17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA