안드로이드 옵션메뉴 예제

공식 안드로이드 가이드 라인은 고해상도에 대한 최대 72px 제곱, 중간 48px 및 낮은 36px를 권장합니다. 당신이 그들의 폴더에 아이콘이 있으면, 당신은 다음과 같이 그들을 포함하도록 메뉴 항목 XML을 변경할 수 있습니다 :이 튜토리얼은 안드로이드 SDK 응용 프로그램의 옵션 메뉴를 구현하는 방법을 가르 칠 것입니다. 계속 읽어보세요! 이러한 특성은 사용해야 하는 가장 중요한 특성이지만 사용 가능한 특성이 더 많습니다. 지원되는 모든 특성에 대한 자세한 내용은 메뉴 리소스 문서를 참조하십시오. MenuInflater를 사용하면 메뉴 리소스에서 컨텍스트 메뉴를 팽창할 수 있습니다. 콜백 메서드 매개 변수에는 사용자가 선택한 보기와 선택한 항목에 대한 추가 정보를 제공하는 ContextMenu.ContextMenuInfo 개체가 포함됩니다. 활동에 각각 다른 컨텍스트 메뉴를 제공하는 여러 뷰가 있는 경우 이러한 매개 변수를 사용하여 팽창할 컨텍스트 메뉴를 결정할 수 있습니다. 정의된 의도와 일치하는 의도 필터를 제공하는 각 활동에 대해 의도 필터의 android:label의 값을 메뉴 항목 제목으로 사용하고 응용 프로그램 아이콘을 메뉴 항목 아이콘으로 사용하여 메뉴 항목이 추가됩니다. addIntentOptions() 메서드는 추가된 메뉴 항목 수를 반환합니다. Android 3.0(API 수준 11)부터 는 Android 기반 장치가 더 이상 전용 메뉴 단추를 제공할 필요가 없습니다.

이 변경으로 Android 앱은 기존 6항목 메뉴 패널에 대한 의존에서 벗어나 일반적인 사용자 작업을 표시하는 앱 막대를 제공해야 합니다. Android 앱에서는 플랫폼 내에서 지원되는 세 가지 표준 메뉴(컨텍스트 메뉴, 옵션 메뉴 및 하위 메뉴)를 사용할 수 있습니다. 사용자가 Android 기기의 메뉴 버튼을 누를 때 옵션 메뉴가 나타납니다. 이것은 거의 모든 앱에서 일반적인 기능이므로 사용자가 이러한 방식으로 표시되는 메뉴에 사용됩니다. 옵션 메뉴는 일반적으로 앱에 대한 추가 정보를 제공하고 도움말 및 설정 섹션에 연결하는 데 사용됩니다. Android 앱에서 활동에 대한 옵션 메뉴를 구현하려면 몇 가지 매우 간단한 단계가 필요합니다. 경우에 따라 메뉴 항목이 의도를 사용하여 활동을 시작하도록 할 수 있습니다(응용 프로그램의 활동이든 다른 응용 프로그램이든). 사용하려는 의도를 알고 의도를 시작해야 하는 특정 메뉴 항목이 있는 경우 항목에서 선택한 적절한 콜백 방법(예: onOptionsItemSelected() 콜백) 중에 startActivity()로 의도를 실행할 수 있습니다. 팁: 응용 프로그램에 여러 활동이 포함되어 있고 그 중 일부가 동일한 옵션 메뉴를 제공하는 경우 onCreateOptionsMenu() 및 onOptionsItemSelected() 메서드를 제외한 아무 것도 구현하지 않는 활동을 만드는 것이 좋습니다. 그런 다음 동일한 옵션 메뉴를 공유해야 하는 각 활동에 대해 이 클래스를 확장합니다. 이렇게 하면 메뉴 작업을 처리하기 위한 하나의 코드 집합을 관리할 수 있으며 각 하위 클래스는 메뉴 동작을 상속합니다.

하위 활동 중 하나에 메뉴 항목을 추가하려면 해당 활동에서 CreateOptionsMenu()를 재정의합니다. 원래 메뉴 항목이 만들어지기 위해 super.onCreateOptionsMenu(메뉴)를 호출한 다음 menu.add()를 사용하여 새 메뉴 항목을 추가합니다. 개별 메뉴 항목에 대한 슈퍼 클래스의 동작을 재정의할 수도 있습니다. 활동에서 메뉴를 사용하려면 MenuInflater.inflate()를 사용하여 메뉴 리소스(XML 리소스를 프로그래밍 가능한 개체로 변환)를 부풀려야 합니다. 다음 섹션에서는 각 메뉴 유형에 대한 메뉴를 팽창시키는 방법을 살펴보겠습니다. 참고: 현재 포커스가 있는 보기를 기반으로 옵션 메뉴의 항목을 변경해서는 안 됩니다. 터치 모드(사용자가 트랙볼 또는 d-패드를 사용하지 않는 경우)에서는 뷰에 포커스를 맞출 수 없으므로 옵션 메뉴에서 항목을 수정하기 위한 기준으로 포커스를 사용해서는 안 됩니다. 보기에 컨텍스트에 민감한 메뉴 항목을 제공하려면 컨텍스트 메뉴를 사용합니다.