Tabla de contenido
Configurar detectores de eventos
Configurar detectores de eventos
Configurar detectores de eventos
Crear una aplicación para Android
Copie la imagen de fondo en el directorio dibujable
Abra el archivo de recursos de cadena strings.xml e ingrese el código
Abra el archivo de recursos de diseño principal activity_main.xml e ingrese el código:
teoría:
En las aplicaciones de Android, a menudo se requiere que el usuario elija entre varias opciones. A veces se requiere seleccionar solo una, luego se debe usar un botón de radio (RadioButton) y, a veces, se requiere que el usuario seleccione varias opciones, luego una casilla de verificación. (CheckBox) debe ser utilizado.
grupo de botones de opción
atributos comunes
Atributos | significado |
---|---|
orientación | vertical u horizontal, determina si los botones de radio están dispuestos vertical u horizontalmente |
diseño_ancho | ancho (unidad: dp) |
disposición_altura | Altura (unidad: dp) |
Configurar detectores de eventos
establecer oyente | efecto |
---|---|
setOnCheckedChangeListener | Escuche los cambios en el estado seleccionado del botón de opción |
setOnClickListener | Escuche si se hace clic en el grupo de botones de opción |
solo botón
método común
método | efecto |
---|---|
está chequeado() | verdadero o falso, muestra el estado marcado del botón de radio |
setChecked() | El parámetro es verdadero o falso, se usa para establecer el estado seleccionado del botón de radio |
Configurar detectores de eventos
establecer oyente | efecto |
---|---|
setOnCheckedChangeListener | Escuche los cambios en el estado seleccionado del botón de opción |
setOnClickListener | Escuche si se hace clic en el botón de opción |
casilla de verificación
método común
método | efecto |
---|---|
está chequeado() | verdadero o falso, muestra el estado marcado de la casilla de verificación |
setChecked() | El parámetro es verdadero o falso, que se utiliza para establecer el estado seleccionado de la casilla de verificación |
Configurar detectores de eventos
establecer oyente | efecto |
---|---|
setOnCheckedChangeListener | Escuche los cambios en el estado marcado de la casilla de verificación |
setOnClickListener | Escuche si se hace clic en la casilla de verificación |
Diagrama de herencia de tres controles.
Ejemplo concreto:
Crear una aplicación para Android
Crear una aplicación para AndroidSetBasicInformation
Copie la imagen de fondo en drawable
el directorio.
Abra el archivo de recursos de cadena strings.xml
e ingrese el código
Código específico:
<resources> <string name="app_name">Establecer información básica</string> <string name="set_information">Establecer información básica</string> <string name="name">Nombre:</string> <string name ="input_name">Por favor ingrese su nombre</string> <string name="gender">Sexo:</string> <string name="masculino">Masculino</string> <string name="female">Femenino< /string> string> <string name="hobby">Hobby:</string> <string name="music">Música</string> <string name="read">Lectura</string> <string name=" comida"> Cocina</string> <string name="ok">确定</string> <string name="clear">清除</string> <string name="exit">退出</string> </resources>
Abra el archivo de recursos de diseño principal activity_main.xml
e ingrese el código:
<?versión xml="1.0" codificación="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height ="match_parent" android:background="@drawable/img" android:orientation="vertical" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="50dp" > <TextView android:id=" @+id/tv_setinformation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="centro" android:layout_marginBottom="30dp"layout_gravity="center" android:text="@string/set_information" android:textColor="#0000ff" android:textSize="30sp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:id="@+id /tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/name" android:textColor="#000000" android:textSize="20sp" /> <EditText EditText android:id="@+id/edt_name" android:layout_width= "envolver_contenido" android:layout_height="envolver_contenido" android:ems="10" android:hint="@string/input_name" android:singleLine="true" android:textSize="20sp"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height= "wrap_content" android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:id="@+id/tv_gender" android:layout_width="wrap_content" android:layout_height="wrap_content" <Grupo de radiowrap_content" android:text="@string/género" android:textColor="#000000" android:textSize="20sp" /> android:id="@+id/rb_female" android:id="@+id/rg_gender" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/rb_male" android:layout_width= "wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="@string/male" android:textSize="20sp"/> <RadioButton android:layout_height="wrap_content" android:layout_marginLeft="15dp" android:layout_width="wrap_content" android:text="@string/female" android:textSize="20sp"/> </RadioGroup> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:id="@+id/tv_hobby" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@cadena/pasatiempo" android:textColor="#000000" android:textSize=" 20sp"/> <CheckBox android:id="@+id/cb_music" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/music" android:textSize="20sp"/> <CheckBox android:id="@+id/cb_read" android:layout_width= "wrap_content" android:layout_height="wrap_content" android:text="@string/read" android:textSize="20sp"/> <CheckBox android:id="@+id/cb_food" android:layout_width="wrap_content" android :layout_height="envolver_contenido" android:text="@string/food" android:textSize="20sp"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp"> <Button android:id="@+id/btn_ok" android: layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="doOK" android:layout_marginRight="10dp" android:text="@string/ok" android:textSize="20sp" /> <Botón android:id="@+id/btn_clear" android:layout_width="match_parent" android:layout_height="wrap_content" layout_height="wrap_content" android:layout_weight="1" android:onClick="doClear" android:layout_marginRight="10dp" android:text="@string/clear" android:textSize="20sp"/> <Button android:id="@+id /btn_exit" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="doExit" android:text="@string/exit" android:textSize="20sp"/> </LinearLayout> <Ver android:layout_width="match_parent" android:layout_height="1dp" android:layout_marginTop="10dp" android:fondo="#dddddd"/> <TextView android:id="@+id/tv_result" android:layout_width="wrap_content" android:layout_height="100dp" android:layout_marginTop="30dp" android:textSize="20sp" /> <Ver android:layout_width="match_parent" android:layout_height="1dp" android:layout_marginTop="10dp" android:background="#dddddd"/> </LinearLayout>
Abra la clase de interfaz principalMainActivity输入代码:
Código específico:
paquete net.zyt.set_basic; importar androidx.appcompat.app.AppCompatActivity; importar android.os.Bundle; importar android.view.View; importar android.widget.CheckBox; importar android.widget.EditText; importar android.widget.RadioButton importar android.widget.RadioGroup; importar android.widget.TextView; importar android.widget.Toast; importar java.util.Locale; clase pública MainActivity extiende AppCompatActivity { private EditText etName;//Cuadro de edición de nombre private RadioGroup rgGender;// Género botón de opción privado RadioButton rbMale; // botón de opción masculino privado RadioButton rbFemale; // botón de opción femenino privado CheckBox cbMusic;//Casilla de verificación de música privado CheckBox cbRead; // casilla de verificación de lectura private CheckBox cbFood;//Food checkbox private TextView tvResult;//End tag @Override protected void onCreate(Bundle SavedInstanceState) { super.onCreate(savedInstanceState); //Usar recursos de diseño Interfaz de usuario de configuración de archivos setContentView(R.layout.activity_main); // Obtener la instancia de control a través del identificador de recurso etName=findViewById(R.id.edt_name); rgGender=findViewById(R.id.rg_gender); rbMale=findViewById(R. id.rb_male ); rbFemale=findViewById(R.id.rb_female); cbMusic=findViewById(R.id.cb_music); cbRead=findViewById(R.id.cb_read); cbFood=findViewById(R.id.cb_food); tvResult=findViewById(R.id.tv_result); // //Registra el procesamiento de eventos de clic para el botón método // rgGender.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View v) { // switch (rgGender.getCheckedRadioButtonId()) { // case R.id.rb_male://checked Botón de radio masculino // Toast.makeText(MainActivity.this, "¡Has seleccionado 【Masculino】!", Toast.LENGTH_SHORT); // break; // case R.id.rb_female://seleccionar botón de radio femenino // Toast .makeText(MainActivity.this, "¡Elegiste 【Mujer】!", Toast.LENGTH_SHORT); // break; // } // } } //Enviar botón Hacer clic en evento método de manejo public void doOK(Ver vista) { // Obtener el nombre String name = etName.getText().toString().trim(); // Obtener el género String gender = ""; // Determinar qué botón de opción seleccionó el usuario (rgGender.getCheckedRadioButtonId()) {/ / Juicio basado en el id del botón de radio seleccionado case R.id.rb_male://Botón de radio masculino seleccionado gender = rbMale.getText().toString(); break; case R.id.rb_female: gender = rbFemale.getText ().toString(); break; } //Determinar si el usuario ha seleccionado la casilla de verificación de música //Obtener pasatiempos StringBuilder builder = new StringBuilder();//String builder if (cbMusic.isChecked()) { builder.append(cbMusic.getText().toString() + ""); } //Determinar si el usuario ha seleccionado la casilla de verificación de lectura if (cbRead.isChecked()) { builder.append(cbRead.getText().toString() + ""); } //Determina si el usuario ha seleccionado la casilla de comida if (cbFood.isChecked()) { builder. append(cbFood.getText().toString() + ""); } String hobbies = builder.toString().trim();//Quitar espacios //Mostrar información básica a través de etiquetas String result = "Nombre:" + nombre + "\n" + "género" + "género" + "\n " + "Pasatiempos" + pasatiempos; tvResult.setText(resultado); } // Borrar método de procesamiento de eventos de clic de botón public void doClear(View view) { etName.setText(""); rbMale.setChecked(true); cbMusic.setChecked ( false); cbRead.setChecked(false); cbFood.setChecked(false); tvResult.setText(""); } // Método de procesamiento de eventos de clic en el botón Salir public void doExit(View view) { finish(); } }
El efecto de carrera final: