안드로이드 컨텍스트 메뉴 예제

Skrevs fredagen den 2 augusti, 2019

활동에 대 한 옵션 메뉴를 지정 하려면 재정의 에CreateOptionsMenu() (조각자체 제공 자체 에CreateOptionsMenu() 콜백). 이 메서드에서는 메뉴 리소스(XML에 정의)를 콜백에 제공된 메뉴에 부풀릴 수 있습니다. 예: addIntentOptions(int, int, int, ComponentName, intent[], 의도, int, MenuItem[]에 대한 플래그: 설정된 경우 동일한 그룹의 기존 메뉴 항목을 자동으로 제거하지 않습니다. 컨텍스트 메뉴가 필요한 보기를 처리하는 활동은 CreateContextMenumenu에서 사용합니다. 다른 컨텍스트 메뉴를 표시하는 데 필요한 경우 View id(getId 메서드 사용)를 테스트할 수 있습니다. 여기서 만 하나 사용되고, 팽창 호출이 메뉴 파일의 이름을 취하는 방법을 알 수 있습니다 : 이 예제에서 ”press”를 사용하는 XML 레이아웃 파일에서 자신의 보기 요소에 사용한 ID 특성을 지정합니다. 이렇게 하면 앱에서 지정된 보기 항목을 길게 누르는 사용자를 감지하도록 지시됩니다. 이 경우 앱은 ”onCreateContextMenu” 메서드를 호출하여 컨텍스트 메뉴 리소스를 사용하도록 지시할 수 있습니다. add()를 사용하여 메뉴 항목을 추가하고 findItem()을 사용하여 항목을 검색하여 MenuItem API를 사용하여 해당 속성을 수정할 수도 있습니다.

참고: Android 3.0+를 사용하는 경우 컨텍스트 메뉴는 메뉴의 항목 바로 가기 및 항목 아이콘을 지원하지 않습니다. android에서 컨텍스트 메뉴는 UI의 특정 항목 또는 컨텍스트 프레임에 영향을 주는 작업을 제공 하며 모든 보기에 대 한 컨텍스트 메뉴를 제공할 수 있습니다. 컨텍스트 메뉴는 항목 바로 가기 및 항목 아이콘을 지원하지 않습니다. Android 3.0 이상에서는 앱 표시줄에 메뉴 항목이 표시될 때 옵션 메뉴가 항상 열려 있는 것으로 간주됩니다. 이벤트가 발생하고 메뉴 업데이트를 수행하려는 경우 invalidateOptionsMenu()를 호출하여 시스템이 onPrepareOptionsMenu()를 호출하도록 요청해야 합니다. 시스템에서 호출 후CreateOptionsMenu() 메뉴가 채워지는 메뉴의 인스턴스를 유지하고 메뉴가 어떤 이유로 무효화되지 않는 한 createOptionsMenu()를 다시 호출하지 않습니다. 그러나 onCreateOptionsMenu() 초기 메뉴 상태를 만들고 활동 수명 주기 동안 변경 하지 않아야 합니다. 앱에 ImageView를 추가하려면 Android에서 비트맵을 표시하는 Tek Eye 문서를 참조하십시오. 여기에 사용된 광대 그래픽은 res 폴더에 추가할 지퍼가 달린 단순 광대 그래픽 리소스에 있습니다. MenuItem의 키보드 바로 가기 바로 가기 메뉴에 대 한 지원 되는 모든 수정자의 마스크 항목 바로 가기 및 항목 아이콘을 지원 하지 않습니다. 모든 메뉴 유형에 대해 Android는 메뉴 항목을 정의하는 표준 XML 형식을 제공합니다. 활동 코드에서 메뉴를 빌드하는 대신 XML 메뉴 리소스의 메뉴와 모든 항목을 정의해야 합니다.

그런 다음 활동 또는 조각에서 메뉴 리소스를 팽창(메뉴 개체로 로드)할 수 있습니다. Android 플랫폼은 앱에서 사용할 수 있는 몇 가지 표준 메뉴를 제공합니다. 컨텍스트 메뉴는 사용자가 사용자 인터페이스 항목을 길게 누르면 항목을 누르고 메뉴가 나타날 때까지 길게 누를 때 나타납니다. Android 사용자는 일반적으로 이러한 유형의 상호 작용에 익숙합니다. Android 개발자 가이드는 컨텍스트 메뉴를 컴퓨터를 마우스 오른쪽 단추로 클릭하는 것과 비교합니다. 상황에 맞는 메뉴를 구현하는 것은 간단하며 많은 응용 프로그램의 핵심 요소입니다. Android 2.3.x 이하에서는 사용자가 옵션 메뉴를 열 때마다 시스템 에서 prepareOptionsMenu() 호출합니다(메뉴 버튼을 누릅니다). 참고: 컨텍스트 작업 모드는 Android 3.0(API 수준 11) 이상에서 사용할 수 있으며 사용 가능한 경우 컨텍스트 작업을 표시하는 데 선호되는 기술입니다. 앱이 3.0보다 낮은 버전을 지원하는 경우 해당 장치의 부동 컨텍스트 메뉴로 전환해야 합니다. 패키지 com.tutlane.contextmenuexample; 가져 오기 안드로이드.support.v7.app.App.AppCompatActivity; 가져 오기 android.os.Bundle; 가져오기 android.view.ContextMenu; 가져오기 android.view.MenuItem; 가져오기 android.view.View; 가져 오기 android.widget.Button; 가져 오기 android.widget.Toast; 공용 클래스 MainActivity 확장 AppCompatActivity { @Override 보호 된 void onCreate (번들 저장 인스턴스 상태) { super.onCreate (저장된 인스턴스 상태); setContentView (R.layout.activity_main); 버튼 btn = (버튼) findViewById (R.id.btnShow); 레지스터ForContextMenu(btn); } @Override 공개 무효 에CreateContextMenuMenu (컨텍스트 메뉴 메뉴, 보기 v, ContextMenu.ContextMenuInfo 메뉴정보) { super.onCreateContextMenu (메뉴, v, 메뉴정보); menu.setHeaderTitle (”컨텍스트 메뉴”); menu.add (0, v.getId(), 0, ”업로드”); v.getId(), 0, ”검색”); menu.add(0, v.getId(), 0, ”공유”); menu.add(0, v.getId(), 0, ”북마크”); } @Override 공개 부울 onContextItem선택 (메뉴 항목 항목) { Toast.makeText (이, ”선택 된 항목: ” +item.getTitle(), Toast.LENGTH_SHORT).쇼(); true를 반환합니다. } 팁 : 안드로이드 3.0은 안드로이드를 사용하여 XML의 메뉴 항목에 대한 클릭 동작을 정의 할 수있는 기능을 추가 : onClick 특성.

Teater Kapija
Örmölla 321
SE-274 56 Abbekås

+46 (0)411 533 772
+46 (0)70 740 17 61

info@kapija.com
www.kapija.com