Android/ClickEvent

[Android] 버튼클릭 제스쳐, 상태에 따른 버튼이미지 변경, xml 파일로 만들기

croute 2011. 3. 22. 17:13

2011.02.08 작성 / 2011.03.22 갱신


버튼에 대한 상태를 생각해봅시다.
여러가지의 상태가 있는데 그 여러 상태에 대해서 버튼에 다른이미지를 보여줄 수 있습니다.

버튼의 상태
 default    아무것도 아닌 상태 
 pressed      누르고 있는 상태 
 focused    누르고 있진 않았지만 포커스가 주어진 상태 
 selected    선택된 상태  

이렇게 네가지의 상태가 있습니다.
이 네가지 상태에 대해서 각각 다른 이미지를 보여주기 위해서는 네가지의 이미지가 있어야 합니다.

저는 보통 3가지의 이미지를 두고, 
default, pressed, focused 또는 
default, pressed, selected 에 사용합니다.



이미지 파일을 준비합니다.

아래의 세가지 이미지는 윤하팬플에 사용한 이미지들 입니다.
이미지들은 res/drawable-hdpi 에 넣어둡니다.(480*800 해상도)
 

default
 
 
 
selected

 
 
pressed




이렇게 이미지들을 준비 했으면 xml 파일을 만듭니다.

res/drawable/button_change.xml



여기까지 되었다면, 
액티비티의 xml 파일에 코드를 추가합니다.






이제 실행을 해 봅니다.


위의 실행화면과 같이 상태에 따라서 파란색(디폴트), 주황색(프레스드), 노란색(셀렉티드)로 나옵니다.
(이건 실제로 실행해보면 확인할 수 있습니다.)


ButtonActivity.class