다음을 통해 공유


Xamarin.Android 탐색 모음

Android 4는 홈, 뒤로 및 메뉴에 대한 하드웨어 단추를 포함하지 않는 디바이스에서 탐색 컨트롤을 제공하는 탐색 모음이라는 새로운 시스템 사용자 인터페이스 기능을 도입했습니다. 다음 스크린샷은 Nexus Prime 디바이스의 탐색 모음을 보여줍니다.

Android 탐색 모음의 예

탐색 모음 및 해당 컨트롤의 표시 여부와 Android 3에서 도입된 시스템 막대의 표시 유형을 제어하는 몇 가지 새로운 플래그를 사용할 수 있습니다. 플래그는 클래스에 Android.View.View 정의되며 아래에 나열됩니다.

  • SystemUiFlagVisible – 탐색 모음을 표시합니다.
  • SystemUiFlagLowProfile – 탐색 모음에서 컨트롤을 흐리게 표시합니다.
  • SystemUiFlagHideNavigation – 탐색 모음을 숨깁니다.

이러한 플래그는 속성을 설정 SystemUiVisibility 하여 뷰 계층 구조의 모든 보기에 적용할 수 있습니다. 여러 보기에 이 속성이 설정된 경우 시스템에서 OR 작업과 결합하고 플래그가 설정된 창에 포커스가 유지되는 한 적용합니다. 보기를 제거하면 설정된 플래그도 제거됩니다.

다음 예제에서는 단추를 클릭하면 다음이 변경되는 간단한 애플리케이션을 SystemUiVisibility보여 줍니다.

표시, 낮은 프로필 및 숨겨진 SystemUiVisibility를 보여주는 스크린샷

아래와 같이 각 단추의 클릭 이벤트 처리기에서 속성을 TextView 변경하는 SystemUiVisibility 코드입니다.

var tv = FindViewById<TextView> (Resource.Id.systemUiFlagTextView);
var lowProfileButton = FindViewById<Button>(Resource.Id.lowProfileButton);
var hideNavButton = FindViewById<Button> (Resource.Id.hideNavigation);
var visibleButton = FindViewById<Button> (Resource.Id.visibleButton);

lowProfileButton.Click += delegate {
    tv.SystemUiVisibility =
        (StatusBarVisibility)View.SystemUiFlagLowProfile;
};

hideNavButton.Click += delegate {
    tv.SystemUiVisibility =
       (StatusBarVisibility)View.SystemUiFlagHideNavigation;        
};

visibleButton.Click += delegate {
    tv.SystemUiVisibility = (StatusBarVisibility)View.SystemUiFlagVisible;
}

또한 변경으로 SystemUiVisibility 이벤트가 발생합니다 SystemUiVisibilityChange . 속성을 설정하는 SystemUiVisibility 것과 마찬가지로 계층 구조의 SystemUiVisibilityChange 모든 보기에 대해 이벤트 처리기를 등록할 수 있습니다. 예를 들어 아래 코드는 인스턴스를 TextView 사용하여 이벤트에 등록합니다.

tv.SystemUiVisibilityChange +=
  delegate(object sender, View.SystemUiVisibilityChangeEventArgs e) {
        tv.Text = String.Format ("Visibility = {0}", e.Visibility);
  };