A veces, cuando nos encontramos con una situación en la que no necesitamos hacer clic en algunas vistas en las que se puede hacer clic. Por ejemplo, si el usuario no completa los datos obligatorios, entonces en esa situación es muy útil tener un control de clics sobre nuestras vistas. Entonces, en este artículo, aprenderemos cómo deshabilitar/habilitar el oyente de clics en las vistas en Android.
Implementación paso a paso
Paso 1: Crear un nuevo proyecto
Cree un nuevo proyecto en Android Studio en Kotlin .
Paso 2: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml .
XML
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:layout_width="80dp" android:layout_height="80dp" android:src="@drawable/ic_geeksforgeeks" app:layout_constraintBottom_toTopOf="@+id/tvMain" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/tvMain" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Enable/Disable" android:textColor="#7CB342" android:textSize="20dp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.303" /> <Button android:id="@+id/btnMain" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="View" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tvMain" /> </androidx.constraintlayout.widget.ConstraintLayout>
Nota : También hemos incluido imágenes vectoriales en la carpeta dibujable, si desea utilizar ImageView, también debe agregar una imagen vectorial.
Paso 3: trabajar con el archivo MainActivity.kt
Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.
Kotlin
package com.ayush.gfg_exit import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.TextView import android.widget.Toast class MainActivity : AppCompatActivity() { lateinit var tvMain : TextView lateinit var btnView : Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) tvMain = findViewById(R.id.tvMain) btnView = findViewById(R.id.btnMain) btnView.setOnClickListener { Toast.makeText(this,"clicked",Toast.LENGTH_SHORT).show() } // btnView is initially enabled(true). // clicking tvMain each time, // btnView.isEnalbed will toggles. tvMain.setOnClickListener { btnView.isEnabled = !(btnView.isEnabled) } } }
Producción:
Publicación traducida automáticamente
Artículo escrito por ayushpandey3july y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA