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

사용자 전환을 기반으로 비밀번호를 숨기거나 표시하는 아이콘을 만들어 보안을 강화하고 사용자 환경을 개선할 수 있습니다.

버전 호환성

이 구현을 사용하려면 프로젝트 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 속성과 후행 아이콘의 표시/표시되지 않음 상태를 정의합니다.

결과

그림 1. 비밀번호 표시/숨기기 아이콘 전환

이 가이드가 포함된 컬렉션

이 가이드는 더 광범위한 Android 개발 목표를 다루는 선별된 빠른 가이드 모음의 일부입니다.

텍스트는 모든 UI의 핵심 요소입니다. 만족도 높은 사용자 환경을 제공하기 위해 앱에서 텍스트를 표시하는 다양한 방법을 알아보세요.
사용자가 텍스트를 입력하고 다른 입력 수단을 사용하여 앱과 상호작용할 수 있는 방법을 구현하는 방법을 알아봅니다.

질문이나 의견이 있으신가요?

자주 묻는 질문(FAQ) 페이지로 이동하여 빠른 가이드를 알아보거나 문의하여 의견을 보내주세요.