您可以根据用户开关创建一个图标来隐藏或显示密码,以提高安全性并增强用户体验。
版本兼容性
此实现要求您的项目 minSDK 设置为 API 级别 21 或更高。
依赖项
根据用户开关显示或隐藏密码
要根据用户开关显示或隐藏密码,请创建一个用于输入信息的输入字段,并使用可点击的图标作为开关
@Composable fun PasswordTextField() { val state = remember { TextFieldState() } var showPassword by remember { mutableStateOf(false) } BasicSecureTextField( state = state, textObfuscationMode = if (showPassword) { TextObfuscationMode.Visible } else { TextObfuscationMode.RevealLastTyped }, modifier = Modifier .fillMaxWidth() .padding(6.dp) .border(1.dp, Color.LightGray, RoundedCornerShape(6.dp)) .padding(6.dp), decorator = { innerTextField -> Box(modifier = Modifier.fillMaxWidth()) { Box( modifier = Modifier .align(Alignment.CenterStart) .padding(start = 16.dp, end = 48.dp) ) { innerTextField() } Icon( if (showPassword) { Icons.Filled.Visibility } else { Icons.Filled.VisibilityOff }, contentDescription = "Toggle password visibility", modifier = Modifier .align(Alignment.CenterEnd) .requiredSize(48.dp).padding(16.dp) .clickable { showPassword = !showPassword } ) } } ) }
关于代码的要点
- 在
showPassword
中维护密码可见性状态。 - 使用
BasicSecureTextField
composable 组件用于密码输入。 - 有一个可点击的尾部图标,它会切换
showPassword
的值。 - 根据
showPassword
的状态,定义textObfuscationMode
属性以及尾部图标的可见/不可见状态。
结果
包含本指南的收藏集
本指南是这些精选快速指南收藏集的一部分,这些收藏集涵盖了更广泛的 Android 开发目标

显示文本
文本是任何界面的核心部分。了解如何在应用中呈现文本以提供愉悦的用户体验的不同方式。

请求用户输入
了解如何通过文本输入和其他输入方式实现用户与您的应用互动。
有问题或反馈
前往我们的常见问题页面了解快速指南,或者联系我们告知您的想法。