您可以建立圖示,根據使用者切換按鈕隱藏或顯示密碼,藉此提升安全性並改善使用者體驗。
版本相容性
這個實作方式需要將專案 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
可組合函式輸入密碼。 - 具有可點選的結尾圖示,可切換
showPassword
的值。 - 根據
showPassword
的狀態,定義textObfuscationMode
屬性和結尾圖示的可見/不可見狀態。
結果
包含此指南的集合
本指南是精選的快速指南系列之一,涵蓋更廣泛的 Android 開發目標:
顯示文字
文字是任何 UI 的核心部分。瞭解在應用程式中顯示文字的不同方式,以提供優質的使用者體驗。
要求使用者輸入內容
瞭解如何讓使用者透過輸入文字和其他輸入方式與應用程式互動。
有問題或意見回饋嗎?
請前往常見問題頁面,瞭解快速指南或與我們聯絡,分享您的想法。