Android - Contrôle ToggleButton

Un ToggleButton affiche les états cochés / non cochés sous forme de bouton. Il s'agit essentiellement d'un bouton marche / arrêt avec un indicateur lumineux.

Bouton à bascule

Attributs ToggleButton

Voici les attributs importants liés au contrôle ToggleButton. Vous pouvez consulter la documentation officielle d'Android pour obtenir la liste complète des attributs et des méthodes associées que vous pouvez utiliser pour modifier ces attributs au moment de l'exécution.

N ° Sr. Attribut et description
1

android:disabledAlpha

C'est l'alpha à appliquer à l'indicateur lorsqu'il est désactivé.

2

android:textOff

Il s'agit du texte du bouton lorsqu'il n'est pas coché.

3

android:textOn

Il s'agit du texte du bouton lorsqu'il est coché.

Hérité de android.widget.TextView Classe -

N ° Sr. Attribut et description
1

android:autoText

S'il est défini, spécifie que ce TextView a une méthode de saisie textuelle et corrige automatiquement certaines fautes d'orthographe courantes.

2

android:drawableBottom

C'est le dessin à dessiner sous le texte.

3

android:drawableRight

C'est le dessin à dessiner à droite du texte.

4

android:editable

S'il est défini, spécifie que ce TextView a une méthode d'entrée.

5

android:text

C'est le texte à afficher.

Hérité de android.view.View Classe -

N ° Sr. Attribut et description
1

android:background

Il s'agit d'un dessin à utiliser comme arrière-plan.

2

android:contentDescription

Cela définit le texte qui décrit brièvement le contenu de la vue.

3

android:id

Cela fournit un nom d'identifiant pour cette vue,

4

android:onClick

Il s'agit du nom de la méthode dans le contexte de cette vue à invoquer lorsque l'utilisateur clique sur la vue.

5

android:visibility

Cela contrôle la visibilité initiale de la vue.

Exemple

Cet exemple vous guidera à travers des étapes simples pour montrer comment créer votre propre application Android à l'aide de Linear Layout et ToggleButton.

Étape La description
1 Vous allez utiliser l'IDE de studio Android pour créer une application Android et la nommer My Application sous un package com.example.saira_000.myapplication comme expliqué dans le chapitre Exemple Hello World .
2 Modifiez le fichier src / MainActivity.java pour ajouter un événement de clic.
2 Modifiez le contenu par défaut du fichier res / layout / activity_main.xml pour inclure le contrôle de l'interface utilisateur Android.
3 Pas besoin de déclarer les constantes par défaut, Android studio prend en charge les constantes par défaut dans string.xml
4 Exécutez l'application pour lancer l'émulateur Android et vérifier le résultat des modifications effectuées dans l'application.

Voici le contenu du fichier d'activité principal modifié src/MainActivity.java. Ce fichier peut inclure chacune des méthodes fondamentales du cycle de vie.

Dans l'exemple ci-dessous, abc indique l'image 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();
         }
      });
   }
}

Voici le contenu de res/layout/activity_main.xml fichier -

<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>

Voici le contenu de res/values/strings.xml pour définir ces nouvelles constantes -

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">My Application</string>
</resources>

Voici le contenu par défaut 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>

Essayons d'exécuter votre My Applicationapplication. Je suppose que vous avez créé votreAVDlors de la configuration de l'environnement. Pour exécuter l'application à partir du studio Android, ouvrez l'un des fichiers d'activité de votre projet et cliquez sur l' icône Exécuter dans la barre d'outils. Le studio Android installe l'application sur votre AVD et le démarre et si tout va bien avec votre configuration et votre application, il affichera la fenêtre Emulator suivante -

L'écran suivant apparaîtra -

Si vous avez cliqué d'abord sur Button, vous obtiendrez un message sur Toast comme You have clicked first ON Button-:) ou bien si vous cliquiez sur le deuxième bouton, vous obtiendrez un message sur Toast comme You have clicked Second ON Button -:)

Exercice

Je recommanderai d'essayer l'exemple ci-dessus avec différents attributs de ToggleButton dans le fichier XML de mise en page ainsi qu'au moment de la programmation pour avoir une apparence et une sensation différentes du ToggleButton. Essayez de le rendre modifiable, changez la couleur de la police, la famille de police, la largeur, la taille du texte, etc. et voyez le résultat. Vous pouvez également essayer l'exemple ci-dessus avec plusieurs contrôles ToggleButton dans une seule activité.