2016년 3월 3일 목요일

Android Studio : 이미지 버튼에 클릭 효과 주기

일반적인 버튼은 클릭시 살짝 눌러지는 효과가 기본적으로 적용이 되어 있다.
하지만, 이미지 버튼을 사용했을 경우 클릭을 해도 아무런 변화가 없어 제대로 클릭이 되었는지 잘 판단이 안되기도 하고, 뭔가 좀 밋밋한 느낌이 들기도 한다.

클릭 효과라고 해서 대단한게 아니고 단지 상태에 따라 이미지를 바꾸어 주는 효과가 있을 뿐이다.


일단 "drawable" 폴더에 색만 다른 같은 크기의 동일한 이미지를 복사해 넣어 준다.


그러면 안드로이드 스튜디오의 "drawable" 폴더에 복사해 넣은 이미지가 나타나는데, 이걸 사용하고자 하는 레이아웃에 "ImageButton" 으로 추가해 준다.

저렇게만 넣어 줘도 일단 쓸수는 있지만, 클릭시 아무런 반응이 없는 이미지 버튼이 된다.
이걸 클릭하면 반응하는 버튼으로 만들려면...


"drawable" 폴더에 파일 하나를 추가하고...


적당한 이름으로 "XML" 파일을 만든다.


그 파일의 내용을 위와 같이 편집한다.

"android:state_pressed" 와 "android:state_focused" 가 버튼을 터치했을 때 상태 이므로 클릭시 변경되게 할 이미지를 지정하고, 아무런 속성이 없는 아이템은 기본 이미지 이므로 초기 상태 이미지를 지정한다.


그런 다음, 이미지 버튼의 이미지를 방금 만든 XML 파일로 지정한다.
이렇게 하고 프로그램을 실행해 보면...


이렇게 그 버튼을 클릭할때 다른 이미지를 보여줌으로 해서 클릭 이벤트 효과를 낸다.