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





Posted by croute

댓글을 달아 주세요

  1. dugPfla 2011.02.10 11:31 신고  댓글주소  수정/삭제  댓글쓰기

    잘보고갑니다 우오빠
    ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

  2. Favicon of http://chqpa.tistory.com BlogIcon ChQPa 2011.02.22 20:14 신고  댓글주소  수정/삭제  댓글쓰기

    좋은자료다 ㅋㅋㅋㅋㅋ

  3. 혹시... 2011.10.02 16:32 신고  댓글주소  수정/삭제  댓글쓰기

    그러면, 버튼이 여러개일때는 각각의 이름으로 xml 파일을 여러개 생성해야 되는건가요??

    뭔가... 비능률적인데;;;

  4. goguma 2011.12.29 11:04 신고  댓글주소  수정/삭제  댓글쓰기

    감사해요~~~~
    담아갈께요~~~~

  5. BlogIcon 아무개 2012.06.23 17:26 신고  댓글주소  수정/삭제  댓글쓰기

    지나가다 보고 해봤는데 이거 되는것 맞습니까 ? 하다 안되서 다른데 찾아보고 처리했습니다.
    이래의 링크를 참고하시기 바랍니다.
    http://necos.tistory.com/41

    • Favicon of http://croute.me BlogIcon croute 2012.06.25 18:14 신고  댓글주소  수정/삭제

      음... 어떤 부분에서 문제가 있었을까요?
      올릴당시(2011.03)에는 잘 동작했었는데, 뭔가 변경된 부분이 있는지 살펴봐야겠네요.