Botón de componente simple de widget Botón

Introducción a Button

El botón hereda de TextView y se utiliza principalmente para generar un botón en la interfaz de IU. Cuando el usuario hace clic en el botón, se activa un evento OnClick. Especifique el color de fondo o la imagen de fondo del botón a través del atributo android: backgroud.
La clase Button implementa la operación del componente button heredando los métodos de la clase padre La siguiente tabla enumera los métodos comunes de la clase Button.
Métodos de la clase Button

método Función descriptiva
onKeyDown () Cuando el usuario presiona una tecla, se llama al método
onKeyUp () Cuando la clave de usuario rebota, este método se llama
onKeyLongPress () Cuando el usuario mantiene presionada la tecla, se llama al método
onKeyMultiple () Este método se llama cuando el usuario presiona la tecla varias veces
invalidateDrawable () Se usa para actualizar objetos dibujables
onPreDraw () Se utiliza para configurar la visualización de la vista, como ajustar el límite del eje de desplazamiento antes de que se muestre la vista.
setOnKeyLicenses () Se utiliza para configurar el monitor de botones
setOnClickListcner () Se usa para configurar el oyente de clics

Demostración de código

Tomemos set (nClickListener () como ejemplo para demostrar el uso de Button, TextView y EditView a través de una operación de inicio de sesión simulada. El
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
código de diseño de la interfaz es el siguiente

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center_horizontal"
    android:orientation="vertical">
    <!-- 标题 1 -->
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="用户登录"
        android:textSize="35sp" />
    <!-- 用户名 2 -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="用户名:" />
        <EditText
            android:id="@+id/userNameTxt"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>
    <!-- 密码 3 -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="密 码: " />
        <EditText
            android:id="@+id/passwordTxt"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPassword"/>
    </LinearLayout>
    <!-- 登录按钮 4 -->
    <Button
        android:id="@+id/loginBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登录" />
    <!-- 成功或失败提示 5 -->
    <TextView
        android:id="@+id/tipsTxt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="5dp"
        android:text="显示成功或失败"
        android:visibility="gone" />
</LinearLayout>

El código se explica de la siguiente manera: la etiqueta 1 muestra el título de la interfaz actual, y el tamaño de fuente de TextView se establece en 35sp, que es relativamente llamativo; la etiqueta 2 combina TextView y EditText a través de LinearLayout para recibir la entrada del usuario name; label 3 Combine TextView y EditText a través de LinearLayout para recibir la entrada de contraseña. El inputType de EditText se establece en textPassword, lo que indica que el cuadro de texto se usa como un cuadro de contraseña; la etiqueta 4 define un botón de inicio de sesión, que se usa para lograr el inicio de sesión en Actividad Procesamiento de la lógica empresarial; la etiqueta 5 define un TextView, que se utiliza para mostrar mensajes después de que el inicio de sesión del usuario sea exitoso o no, como que el nombre de usuario no existe, la contraseña es incorrecta, etc. Al configurar android: visibilidad = "ido", este mensaje está oculto de forma predeterminada.

A continuación, implemente la lógica empresarial de inicio de sesión en la Actividad correspondiente

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
el código se muestra a continuación

package com.qst.demo2;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class LoginActivity extends AppCompatActivity {
    
    
    EditText userNameTxt;   //用户名
    EditText passwordTxt;   //密码
    Button logingBtn;       //登录按钮
    TextView tipsTv;        //提示
    @Override //重写父类的onCreate方法
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);  //调用父类的onCreate方法创建Activity
        setContentView(R.layout.login); //设置布局为login
        //初始化各个组件
        userNameTxt = (EditText) findViewById(R.id.userNameTxt);
        passwordTxt = (EditText) findViewById(R.id.passwordTxt);
        tipsTv = (TextView) findViewById(R.id.tipsTxt);
        logingBtn = (Button) findViewById(R.id.loginBtn);
        //实现单击Button的监听器,并采用匿名类的形式
        logingBtn.setOnClickListener(new View.OnClickListener() {
    
    
            @Override   //重写接口的方法
            public void onClick(View v) {
    
    
                String userName = userNameTxt.getText().toString(); //获取用户名
                String passWord = passwordTxt.getText().toString(); //获取密码
                //判断用户名
                if (!"admin".equals(userName)) {
    
    
                    tipsTv.setText("用户名不存在!");
                    tipsTv.setVisibility(View.VISIBLE);
                    return;
                }
                if (!"1".equals(passWord)) {
    
    
                    tipsTv.setText("密码不正确");
                    tipsTv.setVisibility(View.VISIBLE);
                    return;
                }
                if ("admin".equals(userName) && "1".equals(passWord)) {
    
    
                    tipsTv.setText("登录成功!");
                    tipsTv.setVisibility(View.VISIBLE);
                }
            }
        });
    }
}

El código se explica de la siguiente manera: Se define una variable de atributo userNameTxt de tipo EditText, que se utiliza para obtener el objeto pasado por la interfaz. La función de definición de otros atributos es similar, y luego se inicializa cada variable de atributo, y la variable de atributo se asigna para permitirle realizar un seguimiento de las operaciones de lógica empresarial. La lógica empresarial del botón de inicio de sesión loginBtn se realiza. La lógica es relativamente simple. Si el nombre de usuario no es válido, mostrará "El nombre de usuario no existe"; si la contraseña es incorrecta, mostrará "¡La contraseña es incorrecta! "; si el usuario ingresa tanto el nombre de usuario como la contraseña. Si es correcta, se mostrará" ¡Inicio de sesión exitoso! ".

Declare los resultados de ejecución de la actividad en el archivo de manifiesto AndroidMainfest.xml
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_42768634/article/details/115256586
Recomendado
Clasificación