본문 바로가기

커스텀버튼2

[안드로이드] Button의 background 설정 및 커스텀 drawable(selector 등) 적용 불가 해결 방법 안드로이드 개발시, 버전에 따라 Button의 backgorund 설정이 안되는 경우가 있다. 일반적인 배경 색상 설정은 background대신 backgroundTint 속성을 사용하면 된다. 하지만!!! drawable에 selector 등을 적용하는 커스텀 버튼은 background는 물론 backgroundTint로도 작동하지 않는 경우가 있다. # Button에 background 설정이 불가능한 이유 구글링을 해보니 문제의 원인은 다음과 같다고 한다. 특정 버전의 안드로이드 스튜디오는 프로젝트 생성시, 1. Theme.MaterialComponents.DayNight.DarkActionBar를 디폴트 테마로 설정한다. 2. 해당 테마에서 Button을 만들면 MaterialButton으로 생성.. 2021. 8. 4.
[안드로이드] 버튼 selector 일부 테두리 적용 설정 방법: layer-list selector를 통해 커스텀 라디오 버튼 등을 만들 때, 아래처럼 테두리의 일부만 표시하고 싶을 때가 있다. layer-list를 이용하면 되는데, 문제는 selector태그와 layer-list 태그를 함께 사용하면 원하는 결과가 안 나올 수 있다는 점이다. 해결방법은 1. layer-list 파일, selector 파일을 따로 만들고, 2. selector파일의 item태그 andorid:drawable 속성값에 layer-list 파일을 설정해주는 것이다. 하나씩 해보자. 아래 예제는 위아래 테두리만 있는 커스텀 라디오 버튼을 만드는 것이지만, 좌우 테두리만 설정할 수도 있고, 다른 타입의 버튼에도 각자의 상황에 맞게 응용하면 된다. # 커스텀 라디오버튼의 테두리 일부만 설정하기 1. layer-.. 2021. 8. 3.