728x90

제목 잡기가 참 힘들다.

간단하게 설명할 수 있는 타이틀이 떠오르지 않는다.

이 글은 duplicateParentState와 addStatesFromChildren에 대한 내용이다.


'안드로이드에서 부모 뷰의 속성이 자식 뷰에도 동일하게 적용 되도록 하는 방법'이란 것인데, 좀 쉽게(?) 설명하자면 이런 경우다.


1. 게시판 리스트뷰가 있다.

2. 각 항목은 More 버튼을 가지고 있다.

3. More 버튼을 누르면 다음 화면으로 넘어간다.

4. More 버튼을 직접 누르지 않고 해당 아이템을 눌러도 다음 화면으로 넘어간다.

5. More 버튼을 직접 누르지 않더라도 항목이 눌리면 More 버튼도 눌림 처리 되어야 한다.


마지막 5번이 핵심 요건이다.


3번을 처리하기 위해 More 버튼에 클릭이벤트를 주고, 4번을 처리하기 위해 레이아웃(Layout)에 클릭 이벤트나 터치이벤트를 주는것은 별 문제가 아니다.

그런데, 5번을 처리하기 위해 레이아웃 클릭 시 More 버튼이 눌린 것 처럼 표현하기 위해 별도의 처리를 하는 번거로움을 duplicateParentState="true" 속성으로 해결할 수 있다.


addStatesFromChildren는 duplicateParentState와 반대의 경우로 More 버튼을 눌렀을 때 Layout이 눌림 처리 되는 것이라 이해하면 된다.


아래 예제를 참고하자

http://ingeni.tistory.com/entry/Android-duplicateParentState-부모뷰-속성을-동일하게-자식뷰에-적용하기

http://stackoverflow.com/questions/10605647/android-make-parent-selector-trigger-when-selecting-child

728x90

+ Recent posts