사용자 전환에 따라 비밀번호 표시 또는 숨기기

사용자 전환에 따라 비밀번호를 숨기거나 표시하는 아이콘을 만들어 보안을 개선하고 사용자 환경을 향상할 수 있습니다.

결과

그림 1. 비밀번호 표시 및 숨기기 아이콘을 전환합니다.

버전 호환성

이 구현에서는 프로젝트 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의 중심 요소입니다. 앱에서 텍스트를 표시하여 만족도 높은 사용자 환경을 제공하는 다양한 방법을 알아보세요.
사용자가 텍스트를 입력하고 다른 입력 수단을 사용하여 앱과 상호작용할 수 있는 방법을 구현하는 방법을 알아봅니다.

궁금한 점이나 의견이 있음

자주 묻는 질문(FAQ) 페이지에서 빠른 가이드를 확인하거나 의견을 보내주세요.