如何在 Android 中启用和禁用按钮

//To Disable a button
submit = (Button) findViewById(R.id.submit);
submit.setEnabled(false);

//To Enable a button
submit = (Button) findViewById(R.id.submit);
submit.setEnabled(true);

使用代码示例禁用按钮 Android Studio

myButton.setEnabled(false);
android:enabled="false"

在 Android 设备上禁用物理按键或硬件按钮的步骤:

  • 通过点击 SureLock 主屏幕 5 次并使用密码访问 SureLock 设置。
  • 点击 SureLock 设置。
  • 接下来,单击禁用硬件密钥。
  • 在禁用硬件密钥提示中,选择所需的密钥并单击确定。

如何禁用按钮?

disabled 属性是一个布尔属性。如果存在,它指定应该禁用该按钮。禁用的按钮不可用且不可点击。disabled 属性可以设置为阻止用户点击按钮,直到满足其他条件(如选择复选框等)。

如何在 Android 中的视图上启用/禁用点击监听器?

有时,当我们遇到不需要点击某些可点击视图的情况时。就像用户没有填写强制性数据一样,所以在这种情况下,对我们的视图进行点击控制是非常有帮助的。因此,在本文中,我们将学习如何在 android 中禁用/启用视图的点击监听器。

第 1 步:创建一个新项目

要在 Android Studio 中创建新项目,请参阅在 kotlin 的 android studio 中创建新项目。

第 2 步:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.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>

注意:我们还在 drawable 文件夹中包含了矢量图,如果要使用 ImageView 还需要添加矢量图。

第 3 步:使用 MainActivity.kt 文件

转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。

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

}