반응형
[android] Custom view state 관리에 대한 내용. |
-
예를 들어 checked state 가 없는 view 에 checked state 를 추가하려면 다음과 같이 할 수 있다.
-
우선 어떤 view 에 Checkable 이라는 interface 를 implement 시키고.. ( android 에 있는 interface )
public interface Checkable{
void setChecked(boolean checked);
boolean isChecked();
void toggle();
}
-
setChecked 함수에서 refreshDrawableState() 를 호출하면, int[] onCreateDrawableState(int extraSpace) 가 불린다.
private static final int[] CHECKED_STATE_SET = {
android.R.attr.state_checked // custom state 의 경우 custom attribute 를 추가하면 된다.
};
@Override
protected int[] onCreateDrawableState(int extraSpace){
final int[] drawableState = super.onCreateDrawableState(extraSpace +CHECKED_STATE_SET.size());
if ( isChecked() ){
mergeDrawableStates(drawableState, CHECKED_STATE_SET);
}
return drawableState;
}
-
Custom state 에 대한 자세한 내용은 아래 링크를 확인하자.
http://stackoverflow.com/questions/4336060/how-to-add-a-custom-button-state
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Java] GC 에 대한 이야기 (0) | 2017.05.25 |
---|---|
[android] CircularRevealEffect Basic Simple Example (0) | 2017.05.24 |
[android] LinearLayoutManager 를 사용할 때 smooth scrolling 을 하게 하려면 (0) | 2017.05.22 |
[android] emergency number 에도 전화를 바로 걸려면? (0) | 2017.05.19 |
[android] adb dumpsys 를 잘 사용해보자. (0) | 2017.05.18 |
댓글