[안드로이드] 메뉴에 대한 리소스

반응형





리소스에 대한 글들을 정리하던 중....
너무 길어지기만 한 이전 포스팅을 발행하고 나서
추가적으로 리소스에 대한 내용을 포스팅 합니다.

읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥



같은 리소스에 대한 맥락이지만 따로 분류한 이유는,
그전 리소스에 대한 이어지는 글이 너무 길어진 이유도 있었고
또 대부분의 방문자들이 검색유입으로 들어오는 특성상 한곳에 집중하지 말자 라는 생각 때문이네요 ㅎㅎ

어쨋든 이번글은 메뉴에 대한 리소스 입니다.

메뉴에 대한 리소스

어플리케이션 메뉴 ( 옵션메뉴, 컨텍스트메뉴, 서브메뉴) 는 XML 리소스로 정의될 수 있습니다. 어플리케이션에 의해 MenuInflater 를 사용해서 전개됩니다.

파일포맷은 XML 이며, 파일별로 하나의 리소스로 취급되고 하나의 루트 태그를 가집니다.
단, 메뉴에 대한 리소스는 <?xml> 선언이 요구되지 않습니다.

◎ 파일위치 : res/menu/파일명.xml
◎ 컴파일 후 리소스 타입 : Menu 또는 그 하위 클래스에 대한 리소스 포인터

소스 사용 구문
소스코드 : R.menu.파일명


예제 : 메뉴 파일은 하나의 <menu> 엘리먼트를 루트로 가지며, 세 개의 <menu>, <group> , <item> 이란 엘리먼트를 가집니다. 즉, <item> 과 <group> 은 <menu> 의 자식들이 되야 한다는 뜻입니다. 특별히 <item> 엘리먼트는 <group> 의 자식 엘리먼트가 될 수도 있고 ( 서브메뉴 생성할 때 ) , 또 다른 <menu> 엘리먼트를 자식으로 가질 수도 있습니다.




엘리먼트와 속성

메뉴의 모든 속성은 android 네임스페이스를 가지고 정의가 됩니다.
( android:icon="@drawable/icon" 처럼 ) ..

엘리먼트와 그에 대한 속성들이 아래와 같이 있습니다.

1. <menu>
메뉴의 루트 엘리먼트 입니다. <item> 엘리먼트와 <group> 노드만을 포함하며 속성을 가지지 않습니다.


2. <group>
메뉴의 그룹이죠. <item> 엘리먼트를 포함합니다.

속성으로는

id : 그룹의 고유 정수 ID입니다.

menuCategory : 그룹의 우선순위를 정하는 CATEGORY_* 상수에 대응하는 값 - 입니다.  이 값으로는 container , system , secondary , alternative 가 있습니다.



orderInCategory :  카테고리 내에서 아이템의 디폴트 순서를 정의하는 정수입니다.

checkableBehavior : 아이템의 체크 가능 여부를 나타냅니다. 값으로는 none, all(체크박스), single(라디오버튼) 가 있습니다.



visible : 그룹이 보여지는 지의 여부를 결정합니다. 참 또는 거짓으로 값을 지정합니다.

enabled : 그룹의 활성화 여부를 결정합니다. 이것 또한 참 또는 거짓으로 지정합니다.


3. <item>
메뉴 아이템으로써 <menu> 엘리먼트를 포함할 수 있습니다.

속성으로는

id : 아이템의 고유한 ID 값입니다.

menuCategory : 메뉴 카테고리를 정의합니다.



orderInCategory : 그룹안에서 아이템의 순서를 정의하기 위해 사용됩니다.

title : 메뉴 타이틀 문자열을 나타냅니다.

titleCondensed : 일반 타이틀이 길 경우에 사용되는 조금 간결한 문자열 형태입니다.

icon : 드로블 아이콘의 리소스 식별자를 나타냅니다.

alphabeticShortcut : 단축키를 지정합니다. ( 알파벳 )

numbericShortcut : 숫자 단축키를 지정합니다.

checkable : 아이템의 체크 가능 여부를 결정합니다. ( boolean 값 )

checked : 아이템의 디폴트 체크 여부를 결정합니다.

visible : 아이템이 디폴트로 보여지는지의 여부를 결정합니다.

enabled : 아이템이 디폴트로 활성화 가능한지를 결정합니다.







끝~~








다음글은 레이아웃 리소스에 대한 글 입니다~



관련글


반응형

댓글

Designed by JB FACTORY