ユーザーの切り替えに基づいてパスワードの表示 / 非表示を切り替えるアイコンを作成して、セキュリティを強化し、ユーザー エクスペリエンスを向上させることができます。
結果
バージョンの互換性
この実装では、プロジェクトの 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の値を切り替えます。 textObfuscationMode属性と末尾のアイコンの表示/非表示 の状態をshowPasswordの状態によって定義します。
このガイドを含むコレクション
このガイドは、Android 開発の幅広い目標をカバーする、厳選されたクイック ガイド コレクションの一部です。
テキストを表示する
テキストは UI の主要な構成要素です。アプリでテキストを表示して、優れたユーザー エクスペリエンスを提供する方法について説明します。
ユーザー入力をリクエストする
ユーザーがテキストを入力したり、他の入力方法を使用したりしてアプリを操作できるようにする方法について説明します。
ご不明な点やフィードバックがある場合
よくある質問のページでクイック ガイドについて確認するか、お問い合わせください。