study gomi

[Android/Kotlin] floating button에 직접 그림자 주기 본문

App/Android

[Android/Kotlin] floating button에 직접 그림자 주기

공부하곰 2024. 10. 23. 09:38
728x90
반응형

 FloatingActionButton의 elevation 값을 0.dp로 설정하여서 그림자를 없앴지만 다른 방법으로 그림자를 다시 추가하고 싶을 때 자연스러운 그림자를 유지하는 방법

 

사용자 정의 그림자

FloatingActionButton 자체에 직접적으로 그림자나 elevation을 수정하지 않고,Modifier.shadow()를 사용해서 그림자를 추가하는 방법: 버튼의 background와 shadow를 조정

FloatingActionButton(
    onClick = { },
    modifier = Modifier
        .shadow(elevation = 4.dp, shape = CircleShape, clip = false), // 사용자 정의 그림자 추가
    elevation = FloatingActionButtonDefaults.elevation(0.dp) // 기본 elevation은 0으로 유지
) {
    Text(
        text = " "
        textAlign = TextAlign.Center
    )
}

↑ shadow와 clip을 결합하여 해결

clip이 적용되면 그림자가 사라지기 때문에 FloatingActionButton의 모양은 유지하면서 shadow를 직접 적용하여 그림자를 제어할 수 있음. 

위 코드대로 하면 그림자를 직접 추가하고 버튼의 크기를 유지하면서 흰색 부분 문제(https://taetaegom.tistory.com/99)를 해결할 수 있다. 

728x90
반응형