안드로이드 개발 팁 #91 - 커스텀 AlertDialog 컴포저블 함수 만들기

커스텀 AlertDialog 컴포저블 함수 만들기

No. 91
2025. 01. 22 (수) | Written by @dorian-mobileapp

커스텀 AlertDialog 컴포저블 함수 만들기

저번에 소개해드린 AlertDialog 컴포저블 함수는 그대로 쓰기에는 불편합니다. 텍스트와 버튼을 모두 컴포저블 함수로 정의해야 하기 때문입니다. 그것보다는 별도의 커스텀 다이얼로그 함수를 만들어 사용하는 것이 여러모로 더 편리합니다. 팝업의 포맷이 동일한 경우라면 더더욱 그렇습니다.

커스텀 다이얼로그를 띄우는 샘플 컴포저블 함수 CustomAlertDialog를 보여 드립니다. 위에서 말씀드린 뷰들은 함수 안에 정의 되었고요. 이 함수를 호출할 때, 파라메터는 제목, 내용, 확인/취소 버튼 클릭 처리 함수, 팝업 외부 클릭 처리 함수를 지정해 주시면 됩니다.

@Composable
fun SampleDialog(
    title: String,
    text: String,
    onConfirmClicked: () -> Unit,
    onDismissClicked: () -> Unit,
    onDismissRequest: () -> Unit
) {
    AlertDialog(
        title = {
            Text(text = title)
        },
        text = {
            Text(text = text)
        },
        confirmButton = {
            TextButton(onClick = onConfirmClicked) {
                Text(text = "확인", color = Color.Black)
            }
        },
        dismissButton = {
            TextButton(onClick = onDismissClicked) {
                Text(text = "취소", color = Color.Black)
            }
        },
        onDismissRequest = onDismissRequest
    )
}

Text, TextButton 컴포저블 함수에 파라메터 하나씩만 있는데, 필요한 것은 추가하시면 됩니다.


지난 안드로이드 개발 팁


Layout provided by Steemit Enhancer hommage by ayogom


Posted through the ECblog app (https://blog.etain.club)
Sort:  

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.22
TRX 0.25
JST 0.040
BTC 104076.88
ETH 3257.73
SBD 4.15