Android - Control de botón de palanca
Un ToggleButton muestra los estados marcados / no marcados como un botón. Básicamente es un botón de encendido / apagado con un indicador de luz.
Botón de activación
Atributos de ToggleButton
A continuación se muestran los atributos importantes relacionados con el control ToggleButton. Puede consultar la documentación oficial de Android para obtener una lista completa de atributos y métodos relacionados que puede usar para cambiar estos atributos en tiempo de ejecución.
No Señor. | Atributo y descripción |
---|---|
1 | android:disabledAlpha Este es el alfa que se aplica al indicador cuando está desactivado. |
2 | android:textOff Este es el texto del botón cuando no está marcado. |
3 | android:textOn Este es el texto del botón cuando está marcado. |
Heredado de android.widget.TextView Clase -
No Señor. | Atributo y descripción |
---|---|
1 | android:autoText Si se establece, especifica que este TextView tiene un método de entrada textual y corrige automáticamente algunos errores ortográficos comunes. |
2 | android:drawableBottom Este es el dibujable que se dibujará debajo del texto. |
3 | android:drawableRight Este es el dibujable que se dibujará a la derecha del texto. |
4 | android:editable Si se establece, especifica que este TextView tiene un método de entrada. |
5 | android:text Este es el texto que se mostrará. |
Heredado de android.view.View Clase -
No Señor. | Atributo y descripción |
---|---|
1 | android:background Este es un dibujo para usar como fondo. |
2 | android:contentDescription Esto define el texto que describe brevemente el contenido de la vista. |
3 | android:id Esto proporciona un nombre de identificador para esta vista, |
4 | android:onClick Este es el nombre del método en el contexto de esta vista para invocar cuando se hace clic en la vista. |
5 | android:visibility Esto controla la visibilidad inicial de la vista. |
Ejemplo
Este ejemplo lo llevará a través de pasos simples para mostrar cómo crear su propia aplicación de Android usando Linear Layout y ToggleButton.
Paso | Descripción |
---|---|
1 | Utilizará Android Studio IDE para crear una aplicación de Android y nombrarla como Mi aplicación en un paquete com.example.saira_000.myapplication como se explica en el capítulo Ejemplo de Hello World . |
2 | Modifique el archivo src / MainActivity.java para agregar un evento de clic. |
2 | Modifique el contenido predeterminado del archivo res / layout / activity_main.xml para incluir el control de la interfaz de usuario de Android. |
3 | No es necesario declarar constantes predeterminadas, Android Studio se encarga de las constantes predeterminadas en string.xml |
4 | Ejecute la aplicación para iniciar el emulador de Android y verifique el resultado de los cambios realizados en la aplicación. |
A continuación se muestra el contenido del archivo de actividad principal modificado src/MainActivity.java. Este archivo puede incluir cada uno de los métodos fundamentales del ciclo de vida.
En el siguiente ejemplo, abc indica la imagen de tutorialspoint
package com.example.saira_000.myapplication;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.widget.ToggleButton;
public class MainActivity extends ActionBarActivity {
ToggleButton tg1,tg2;
Button b1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tg1=(ToggleButton)findViewById(R.id.toggleButton);
tg2=(ToggleButton)findViewById(R.id.toggleButton2);
b1=(Button)findViewById(R.id.button2);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
StringBuffer result = new StringBuffer();
result.append("You have clicked first ON Button-:) ").append(tg1.getText());
result.append("You have clicked Second ON Button -:) ").append(tg2.getText());
Toast.makeText(MainActivity.this, result.toString(),Toast.LENGTH_SHORT).show();
}
});
}
}
A continuación se mostrará el contenido de res/layout/activity_main.xml archivo -
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorials point"
android:textColor="#ff87ff09"
android:textSize="30dp"
android:layout_above="@+id/imageButton"
android:layout_centerHorizontal="true"
android:layout_marginBottom="40dp" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton"
android:src="@drawable/abc"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="On"
android:id="@+id/toggleButton"
android:checked="true"
android:layout_below="@+id/imageButton"
android:layout_toEndOf="@+id/button2/>
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Off"
android:id="@+id/toggleButton2"
android:checked="true"
android:layout_alignTop="@+id/toggleButton" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:text="ClickMe"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
A continuación se mostrará el contenido de res/values/strings.xml para definir estas nuevas constantes -
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">My Application</string>
</resources>
A continuación se muestra el contenido predeterminado de AndroidManifest.xml -
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.saira_000.myapplication" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.My Application.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Intentemos ejecutar tu My Applicationsolicitud. Supongo que habías creado tuAVDmientras realiza la configuración del entorno. Para ejecutar la aplicación desde Android Studio, abra uno de los archivos de actividad de su proyecto y haga clic en el icono Ejecutar de la barra de herramientas. Android Studio instala la aplicación en su AVD y la inicia y, si todo está bien con su configuración y aplicación, se mostrará la siguiente ventana del emulador:
Aparecerá la siguiente pantalla:
Si ha hecho clic primero en el botón, recibirá un mensaje en Toast como You have clicked first ON Button-:) o si hace clic en el segundo botón, recibirá un mensaje en Toast como You have clicked Second ON Button -:)
Ejercicio
Recomendaré probar el ejemplo anterior con diferentes atributos de ToggleButton en el archivo XML de diseño, así como en el momento de la programación para tener un aspecto diferente del ToggleButton. Intente hacerlo editable, cambie el color de la fuente, la familia de la fuente, el ancho, el tamaño del texto, etc. y vea el resultado. También puede probar el ejemplo anterior con múltiples controles ToggleButton en una actividad.