이미지 버튼을 눌렀을 때에 선택되었을때의 이미지를 변경하는 것을 알아보니
버튼자체를 png 파일로 하지 않고 xml로 해서
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- selected -->
<item
android:state_selected="true"
android:drawable="@drawable/main_ranking"
/>
<!-- pressed -->
<item
android:state_pressed="true"
android:drawable="@drawable/main_ranking"
/>
<!-- focused -->
<item
android:state_focused="true"
android:drawable="@drawable/main_ranking"
/>
<!-- disabled -->
<item
android:state_enabled="false"
android:drawable="@drawable/main_ranking"
/>
<!-- default -->
<item
android:drawable="@drawable/main_ranking"
/>
</selector>
이런식으로 하면 되더라고요. 근데 이런 경우 자신의 이미지밖에 교환을 못시키는데
예를 들어서 버튼을 누르면 배경화면이 바뀌는 것을 가능하게 하려면,
어떻게 해야할까요? 버튼 누를 경우 부울 변수가 바뀌는 것으로 하고 부울 변수가 바뀌는 경우
배경화면을 바꾸려면 배경화면 역시 xml형식으로 해야하는 건가요? 해야한다면 어떻게 해야하죠?
지금 당장은 스킵 버튼을 누르면 새로운 액티비티를 만들어 배경을 바꾸는 방법밖에 모르겠는데
이런 방법으론 아무래도 한계가 있을 것 같아서 질문합니다 ^^
버튼 5개가 있고 그 버튼을 각각 누를때마다 누른 버튼만 활성화되고 나머지는 활성화 되지 않으며
버튼을 누를때마다 배경이 바뀌는 이런 구조를 만들려면 xml?? 이걸 어떤 구조로 해야할까요. 연동되게
하려면 말이죠. 저 위의 소스처럼 그 버튼의 내용만 바꾸는것이 아니라요 ㅎㅎ 왕초보라 질문도 잘 못하겠네요
이해하셨을 거라고 믿어봅니다 고수형들!!




살펴보시면 onClick에 View가 넘어오는데 그 뷰의 ID값으로 어떤 버튼이 눌렸는지 판별하고,
해당 버튼의 배경화면으로 바꿔주시면 될 것 같습니다.
배경은 [액티비티명].this.setBackgroundResource() 정도로 하시면 될 것 같네요