[안드로이드] 메뉴에 대한 리소스
- 프로그래밍 정보
- 2010. 10. 12.
반응형
리소스에 대한 글들을 정리하던 중....
너무 길어지기만 한 이전 포스팅을 발행하고 나서
추가적으로 리소스에 대한 내용을 포스팅 합니다.
읽기전에 손가락 한번 클릭~ >_<
고마워요 ~ Chu ~ ♥
같은 리소스에 대한 맥락이지만 따로 분류한 이유는,
그전 리소스에 대한 이어지는 글이 너무 길어진 이유도 있었고
또 대부분의 방문자들이 검색유입으로 들어오는 특성상 한곳에 집중하지 말자 라는 생각 때문이네요 ㅎㅎ
어쨋든 이번글은 메뉴에 대한 리소스 입니다.
메뉴에 대한 리소스
어플리케이션 메뉴 ( 옵션메뉴, 컨텍스트메뉴, 서브메뉴) 는 XML 리소스로 정의될 수 있습니다. 어플리케이션에 의해 MenuInflater 를 사용해서 전개됩니다.
파일포맷은 XML 이며, 파일별로 하나의 리소스로 취급되고 하나의 루트 태그를 가집니다.
단, 메뉴에 대한 리소스는 <?xml> 선언이 요구되지 않습니다.
◎ 파일위치 : res/menu/파일명.xml
◎ 컴파일 후 리소스 타입 : Menu 또는 그 하위 클래스에 대한 리소스 포인터
소스 사용 구문
소스코드 : R.menu.파일명
예제 : 메뉴 파일은 하나의 <menu> 엘리먼트를 루트로 가지며, 세 개의 <menu>, <group> , <item> 이란 엘리먼트를 가집니다. 즉, <item> 과 <group> 은 <menu> 의 자식들이 되야 한다는 뜻입니다. 특별히 <item> 엘리먼트는 <group> 의 자식 엘리먼트가 될 수도 있고 ( 서브메뉴 생성할 때 ) , 또 다른 <menu> 엘리먼트를 자식으로 가질 수도 있습니다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<menu xmlns:android=”http://schemas.android.com/apk/res/android”> | |
<item android:id=”@+id/example_item | |
android:title="Example Item" | |
android:icon="@drawable/example_item_icon" /> | |
<group android:id="@+id/example_group"> | |
<item android:id=”@+id/example_item2 | |
android:title="Example Item 2" | |
android:icon="@drawable/example_item2_icon" /> | |
</group> | |
<item android:id=”@+id/example_submenu | |
android:title="Example Sub Menu" > | |
<menu> | |
<item android:id="@+id/example_submenu_item" | |
android:title="Example Sub Menu Item" /> | |
</menu> | |
</item> | |
</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 : 그룹의 활성화 여부를 결정합니다. 이것 또한 참 또는 거짓으로 지정합니다.
속성으로는
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 : 아이템이 디폴트로 활성화 가능한지를 결정합니다.
속성으로는
id : 아이템의 고유한 ID 값입니다.
menuCategory : 메뉴 카테고리를 정의합니다.
orderInCategory : 그룹안에서 아이템의 순서를 정의하기 위해 사용됩니다.
title : 메뉴 타이틀 문자열을 나타냅니다.
titleCondensed : 일반 타이틀이 길 경우에 사용되는 조금 간결한 문자열 형태입니다.
icon : 드로블 아이콘의 리소스 식별자를 나타냅니다.
alphabeticShortcut : 단축키를 지정합니다. ( 알파벳 )
numbericShortcut : 숫자 단축키를 지정합니다.
checkable : 아이템의 체크 가능 여부를 결정합니다. ( boolean 값 )
checked : 아이템의 디폴트 체크 여부를 결정합니다.
visible : 아이템이 디폴트로 보여지는지의 여부를 결정합니다.
enabled : 아이템이 디폴트로 활성화 가능한지를 결정합니다.
끝~~
다음글은 레이아웃 리소스에 대한 글 입니다~
관련글
반응형
작가 남시언님의
글이 좋았다면 응원을 보내주세요!