Android: controllo CheckBox
Un CheckBox è un interruttore di attivazione / disattivazione che può essere attivato dall'utente. È necessario utilizzare le caselle di controllo quando si presenta agli utenti un gruppo di opzioni selezionabili che non si escludono a vicenda.
CheckBox
Attributi CheckBox
Di seguito sono riportati gli attributi importanti relativi al controllo CheckBox. Puoi controllare la documentazione ufficiale di Android per un elenco completo di attributi e metodi correlati che puoi utilizzare per modificare questi attributi in fase di esecuzione.
Ereditato da android.widget.TextView Classe -
Suor n | Attributo e descrizione |
---|---|
1 | android:autoText Se impostato, specifica che questo TextView ha un metodo di input testuale e corregge automaticamente alcuni errori di ortografia comuni. |
2 | android:drawableBottom Questo è il disegno da disegnare sotto il testo. |
3 | android:drawableRight Questo è il disegno da disegnare a destra del testo. |
4 | android:editable Se impostato, specifica che questo TextView ha un metodo di input. |
5 | android:text Questo è il testo da visualizzare. |
Ereditato da android.view.View Classe -
Suor n | Attributo e descrizione |
---|---|
1 | android:background Questo è un disegnabile da usare come sfondo. |
2 | android:contentDescription Definisce il testo che descrive brevemente il contenuto della vista. |
3 | android:id Fornisce un nome identificativo per questa vista. |
4 | android:onClick Questo è il nome del metodo nel contesto di questa vista da richiamare quando si fa clic sulla vista. |
5 | android:visibility Controlla la visibilità iniziale della vista. |
Esempio
Questo esempio ti guiderà attraverso semplici passaggi per mostrare come creare la tua applicazione Android utilizzando Linear Layout e CheckBox.
Passo | Descrizione |
---|---|
1 | Utilizzerai l'IDE di Android Studio per creare un'applicazione Android e denominarla come myapplication in un pacchetto com.example.myapplication come spiegato nel capitolo Hello World Example . |
2 | Modificare il file src / MainActivity.java per aggiungere un evento clic. |
3 | Modifica il contenuto predefinito del file res / layout / activity_main.xml per includere il controllo dell'interfaccia utente Android. |
4 | Non è necessario dichiarare le costanti di stringa predefinite. Android Studio si occupa delle costanti predefinite in string.xml |
5 | Esegui l'applicazione per avviare l'emulatore Android e verifica il risultato delle modifiche apportate nell'applicazione. |
Di seguito è riportato il contenuto del file di attività principale modificato src/MainActivity.java. Questo file può includere ciascuno dei metodi fondamentali del ciclo di vita.
package com.example.myapplication;
import android.os.Bundle;
import android.app.Activity;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.Toast;
public class MainActivity extends Activity {
CheckBox ch1,ch2;
Button b1,b2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ch1=(CheckBox)findViewById(R.id.checkBox1);
ch2=(CheckBox)findViewById(R.id.checkBox2);
b1=(Button)findViewById(R.id.button);
b2=(Button)findViewById(R.id.button2);
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
StringBuffer result = new StringBuffer();
result.append("Thanks : ").append(ch1.isChecked());
result.append("\nThanks: ").append(ch2.isChecked());
Toast.makeText(MainActivity.this, result.toString(),
Toast.LENGTH_LONG).show();
}
});
}
}
Di seguito sarà il contenuto di res/layout/activity_main.xml file -
<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/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Example of checkbox"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="30dp" />
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Do you like Tutorials Point"
android:layout_above="@+id/button"
android:layout_centerHorizontal="true" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Do you like android "
android:checked="false"
android:layout_above="@+id/checkBox1"
android:layout_alignLeft="@+id/checkBox1"
android:layout_alignStart="@+id/checkBox1" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/checkBox1"
android:layout_below="@+id/textView1"
android:layout_marginTop="39dp"
android:text="Tutorials point"
android:textColor="#ff87ff09"
android:textSize="30dp"
android:layout_alignRight="@+id/textView1"
android:layout_alignEnd="@+id/textView1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ok"
android:id="@+id/button"
android:layout_alignParentBottom="true"
android:layout_alignLeft="@+id/checkBox1"
android:layout_alignStart="@+id/checkBox1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel"
android:id="@+id/button2"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/textView2"
android:layout_alignEnd="@+id/textView2" />
<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" />
</RelativeLayout>
Di seguito sarà il contenuto di res/values/strings.xml per definire queste nuove costanti -
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">MyApplication</string>
</resources>
Di seguito è riportato il contenuto predefinito di AndroidManifest.xml -
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.myapplication.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>
Proviamo a eseguire il tuo MyApplicationapplicazione. Presumo che tu abbia creato il tuoAVDdurante l'impostazione dell'ambiente. Per eseguire l'app da Android Studio, apri uno dei file di attività del tuo progetto e fai clic sull'icona Esegui dalla barra degli strumenti. Android Studio installa l'app sul tuo AVD e la avvia e se tutto va bene con la configurazione e l'applicazione, verrà visualizzata la seguente finestra dell'emulatore:
L'utente ha bisogno che tu controlli su ti piace la casella di controllo Android o ti piace la casella di controllo del punto tutorial. e premere il pulsante ok, se tutto funziona correttamente, verrà mostrato un messaggio di brindisi come Grazie. Oppure premere il pulsante Annulla, se l'utente preme il pulsante Annulla chiuderà l'applicazione
Esercizio
Consiglierò di provare l'esempio sopra con diversi attributi di CheckBox nel file XML di layout e al momento della programmazione per avere un aspetto diverso del CheckBox. Prova a renderlo modificabile, cambia il colore del carattere, la famiglia del carattere, la larghezza, la dimensione del testo ecc.E guarda il risultato. Puoi anche provare l'esempio precedente con più controlli CheckBox in un'unica attività.