필자는 아래와 같이 Theme.AppCompat.Light를 상속하였다.
themes.xml
<style name="Theme.이름" parent="Theme.AppCompat.Light">
안드로이드 버튼 background drawable 적용 안됨
안드로이드에서 버튼을 커스터마이징하기 위해 열심히 drawable로 shape를 만들었는데
background에 적용시키면 디폴트 색인 보라색이 뜨는 경우가 있다.
drawable/buttom_background.xml 파일
Whyrano . . .
Button 을
android.widget.Button 또는 androidx.appcompat.widget.AppCompatButton 으로 바꿔주면 바로 해결된다.
하지만 왜 이런 건지, 그냥 Button과는 무슨 차이점이 있는지 궁금해서 이유를 찾아보았다.
안드로이드 버튼 background drawable 적용 안 되는 이유
res/values/themes/themes.xml 로 가보면 이유를 알 수 있다.
바로 이 부분 때문이다.
MaterialComponents 디자인을 상속받고 있기 때문이다.
MaterialComponents 디자인은 아예 Background를 자체적으로 갖고 있어서 변경되지 않는다고 한다.
따라서 아예 이 부분을
parent='Theme.AppCompat.Light' 로 바꿔주기만 해도 문제가 해결되긴 한다.
하지만 해당 style을 적용하고 있는 Activity나 프로젝트 전체의 theme이 변경될 수 있으니 주의바람!
참고
https://stackoverflow.com/questions/52743190/when-using-theme-materialcomponents-light-noactionbar-style-setting-button-back/52751122
https://velmurugan-murugesan.medium.com/material-button-in-android-e4391a243b17
출처: https://hyunjungchoi.tistory.com/116 [행뽁🐥:티스토리]
'프로그래밍 > Android' 카테고리의 다른 글
[Android] 카카오맵 API 현재위치 추적 (1) | 2022.09.26 |
---|---|
[Android] 카카오맵 위도, 경도로 마커 찍기 (0) | 2022.09.23 |
[Android] BottomSheetDialogFragment 배경투명 및 모서리 둥글게 (0) | 2022.09.23 |
[Android] 카카오맵 위도, 경도값으로 주소 구하기 (0) | 2022.09.18 |
[Android] 카카오맵 마커 클릭이벤트, 위도경도 구하기 (0) | 2022.09.18 |
댓글