我们知道,切换意味着通过按一个按钮在两个不同的选项之间切换。因此,在本文中,我们将看到如何通过按一个按钮(此处为“眼睛”按钮)来更改密码的可见性,即通过输入密码类型,我们还可以启用一个图标,该图标可以显示或隐藏密码。用户键入的文本。为了实现这个项目,我们将使用TextInputLayout(Linear Layout的子级) ,它是Android Material Design Library随附的设计组件。由于我们要输入密码,因此将使用TextInputEditText代替普通的EditText,因为TextInputEditText是EditText的子类,而TextEditText是TextInputLayout的子级。与密码可见性切换相关联的XML属性有五个。
- passwordToggleEnabled:此属性的值为true或false,因此,当我们希望密码可切换时,应为该属性分配true值。
- passwordToggleTint:允许为颜色提供可见性切换图标。
- passwordToggleTintMode:允许为切换图标提供不同的背景模式。
- passwordToggleDrawable:允许我们为切换图标提供其他图标,而不是默认的眼睛图像。
- passwordToggleContentDescription:允许我们对切换图标进行描述。
下面给出了一个示例GIF,以使我们对本文中要做的事情有一个了解。请注意,我们将使用Kotlin语言实施此项目。
分步实施
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Kotlin作为编程语言。
步骤2:使用activity_main.xml文件
现在转到代表应用程序UI的activity_main.xml文件。以下是activity_main.xml文件的代码。在代码内部添加了注释,以更详细地了解代码。
XML
app:passwordToggleEnabled="true"
app:passwordToggleTint="@color/colorPrimary"
android:scrollbarSize="25dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
步骤3:使用build.gradle(应用级文件)
在依赖关系部分中导入对材料组件的依赖关系。
dependencies {
// …
implementation ‘com.google.android.material:material:
// …
}
步骤4:使用MainActivity.kt文件
转到MainActivity.kt文件,并参考以下代码。下面是MainActivity.kt文件的代码。在代码内部添加了注释,以更详细地了解代码。由于此项目中不需要执行任何逻辑,因此MainActivity不包含任何代码。
科特林
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}