Xamarin.Android 탐색 모음
Android 4는 홈, 뒤로 및 메뉴에 대한 하드웨어 단추를 포함하지 않는 디바이스에서 탐색 컨트롤을 제공하는 탐색 모음이라는 새로운 시스템 사용자 인터페이스 기능을 도입했습니다. 다음 스크린샷은 Nexus Prime 디바이스의 탐색 모음을 보여줍니다.
탐색 모음 및 해당 컨트롤의 표시 여부와 Android 3에서 도입된 시스템 막대의 표시 유형을 제어하는 몇 가지 새로운 플래그를 사용할 수 있습니다. 플래그는 클래스에 Android.View.View
정의되며 아래에 나열됩니다.
SystemUiFlagVisible
– 탐색 모음을 표시합니다.SystemUiFlagLowProfile
– 탐색 모음에서 컨트롤을 흐리게 표시합니다.SystemUiFlagHideNavigation
– 탐색 모음을 숨깁니다.
이러한 플래그는 속성을 설정 SystemUiVisibility
하여 뷰 계층 구조의 모든 보기에 적용할 수 있습니다. 여러 보기에 이 속성이 설정된 경우 시스템에서 OR 작업과 결합하고 플래그가 설정된 창에 포커스가 유지되는 한 적용합니다. 보기를 제거하면 설정된 플래그도 제거됩니다.
다음 예제에서는 단추를 클릭하면 다음이 변경되는 간단한 애플리케이션을 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);
};