반응형
StateListDrawable에서 각 상태에 따른 Drawable을 가져올 수 없습니다.
각 상태를 가져올 수 있는 메소드가 @hide로 숨겨져 있거나 패키지 내에서만 사용이 가능하기 되어있습니다.
하지만 상태를 알 수 없지만 Drawable의 목록은 가져올 수 있습니다.
아래는 간단한 예제코드 입니다.
구현하실 때는 instanceof 키워드로 검증을 하시고, 예외처리 등을 하셔서 사용해야합니다.
만약 xml에서 자신만의 옵션을 설정 할 수 있게 했을 때, 그 옵션이 Drawable 타입을 받는 것일 경우 사용 될 수 있습니다. 하지만 각 상태를 알 수 없기 때문에 index에 의한 약속을 해야겠지요.
만약 각 상태값과 그에 맞는 Drawable을 구하는 방법을 아시는 분은 댓글 부탁들입니다.
각 상태를 가져올 수 있는 메소드가 @hide로 숨겨져 있거나 패키지 내에서만 사용이 가능하기 되어있습니다.
하지만 상태를 알 수 없지만 Drawable의 목록은 가져올 수 있습니다.
아래는 간단한 예제코드 입니다.
구현하실 때는 instanceof 키워드로 검증을 하시고, 예외처리 등을 하셔서 사용해야합니다.
StateListDrawable stateDrawable = (StateListDrawable)drawable;
DrawableContainerState containerState = (DrawableContainerState)stateDrawable.getConstantState();
Drawable[] drawables = containerState.getChildren();
DrawableContainerState containerState = (DrawableContainerState)stateDrawable.getConstantState();
Drawable[] drawables = containerState.getChildren();
만약 xml에서 자신만의 옵션을 설정 할 수 있게 했을 때, 그 옵션이 Drawable 타입을 받는 것일 경우 사용 될 수 있습니다. 하지만 각 상태를 알 수 없기 때문에 index에 의한 약속을 해야겠지요.
만약 각 상태값과 그에 맞는 Drawable을 구하는 방법을 아시는 분은 댓글 부탁들입니다.
반응형
'안드로이드' 카테고리의 다른 글
[안드로이드] SMS 발신자 변경 (SMS 와 PDU format) (0) | 2011.09.06 |
---|---|
[안드로이드] Dialog의 화면 외부가 어두어지는(검은색 반투명) 동작 없애기 (0) | 2011.09.05 |
[안드로이드] 전화번호 포맷에 맞게 변환하기 (0) | 2011.09.02 |
[안드로이드] /dev 디렉토리 권한 설정 (0) | 2011.09.01 |
[안드로이드] ListView의 Selector에 관해서... (0) | 2011.08.31 |
[안드로이드] 메모리 누수 OutOfMemoryError 관련 링크들 (0) | 2011.08.31 |
(Mango64 & Android) Wireless Tools 포함 빌드 방법 (0) | 2011.08.25 |
(Mango64 & Android) Wireless Tools 활용법(iwconfig,iwlist) (0) | 2011.08.24 |
[안드로이드] adb로 sqlite3 사용하기 (0) | 2011.08.17 |
안드로이드 "ADB" 유틸리티 설치 및 명령어 사용방법 (0) | 2011.08.15 |