비계가 없는 스낵바(및 이를 피해야 하는 이유)

고려 사항



때때로 Scaffold를 가질 수 없는 레이아웃에서 Snackbar가 필요한 상황에 직면할 수 있습니다.
예를 들어 모달 BottomSheet와 Scaffold가 필요한 경우 쉽게 함께 사용할 수 있는 두 가지가 아닙니다. 주로 ModalBottomSheetLayout에 SnackbarHost가 없고 다른 래핑 레이아웃과 제대로 재생되지 않기 때문입니다.
이 경우 자신만의 SnackBarHost를 만들고 더 중요하게 배치해야 합니다.

배치 방법



Scaffold.ktcode for placing Snackbars를 살펴보십시오. Snackbar 측정 및 Fab 버튼 회피 계산 등이 포함됩니다.
아마도 당신은 당신의 레이아웃을 재고하여 이것이 가치가 있는지 알아보시겠습니까?

만들기



그래도 만드는 방법은 아주 간단합니다!

@Composable
fun SnacksNoScafs() {

    val snackState = remember { SnackbarHostState() }
    val snackScope = rememberCoroutineScope()

    SnackbarHost(hostState = snackState, Modifier)

    fun launchSnackBar() {
        snackScope.launch { snackState.showSnackbar("Sup? Here's some snacks.") }
    }

    Button(::launchSnackBar) {
        Text("Show Snackbar")
    }
}


추가 배치 정보가 없으면 호스트는 다음과 같이 맨 위에 표시됩니다.


이 두 가지를 사용해야 하는 상황이 된다면 저에게 알려주세요.

이는 Jetpack Compose 베타 3부터 유효했습니다.


저는 고객에게 큰 영향을 미치고 훌륭한 팀과 훌륭한 보상을 제공하는 수석 Android 직책을 찾고 있습니다. 채용 여부를 알려주세요! 컨설팅 계약도 가능합니다.

좋은 웹페이지 즐겨찾기