Xamarin.Forms 이중 화면

Microsoft Surface Duo와 같은 이중 화면 디바이스는 애플리케이션에 대한 새로운 사용자 환경 가능성을 용이하게 합니다. Xamarin.Forms에는 TwoPaneViewDualScreenInfo 클래스가 포함되어 있으므로, 이중 화면 디바이스용 앱을 개발할 수 있습니다.

시작하기

Xamarin.Forms 앱에 이중 화면 기능을 추가하려면 다음 단계를 따르세요.

  1. 솔루션에 대해 NuGet 패키지 관리자 대화 상자를 엽니다.

  2. 찾아보기 탭에서 Xamarin.Forms.DualScreen를 검색합니다.

  3. Xamarin.Forms.DualScreen 패키지를 솔루션에 설치합니다.

  4. OnCreate 이벤트에서 Android 프로젝트의 MainActivity 클래스에 다음 초기화 메서드 호출을 추가합니다.

    Xamarin.Forms.DualScreen.DualScreenService.Init(this);
    

    이 메서드는 앱이 두 화면에 걸쳐 배치되는 것과 같이 앱 상태의 변경을 감지하는 데 필요합니다.

  5. Android 프로젝트의 MainActivity 클래스에서 Activity 특성을 업데이트하여 다음 ConfigurationChanges 옵션이 ‘모두’ 포함되도록 합니다.

    ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
        | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.UiMode
    

    해당 값은 구성 변경 및 범위 상태를 보다 신뢰도 높게 보고할 수 있게 하는 데 필요합니다. 기본적으로 두 개만 Xamarin.Forms 프로젝트에 추가되므로, 신뢰할 수 있는 이중 화면 지원을 위해 나머지를 직접 추가해야 합니다.

문제 해결

DualScreenInfo 클래스 또는 TwoPaneView 레이아웃이 예상대로 작동하지 않는 경우 이 페이지의 설정 지침을 다시 확인하세요. Init 메서드나 ConfigurationChanges 특성 값을 생략하거나 잘못 구성하는 것이 오류의 일반적인 원인입니다.

추가 지침 및 참조 구현에 대한 자세한 내용은 Xamarin.Forms 이중 화면 샘플을 검토하세요.

다음 단계

NuGet을 추가한 후에는 다음 지침에 따라 앱에 이중 화면 기능을 추가합니다.

  • 이중 화면 디자인 패턴 - 이중 화면 디바이스에서 다중 화면을 최대한 활용하는 방법을 고려할 때는 패턴 지침을 참조하여 애플리케이션 인터페이스에 적합한 패턴을 찾으세요.
  • TwoPaneView 레이아웃 - Xamarin.FormsTwoPaneView 동일한 이름의 UWP 컨트롤에서 영감을 받은 클래스는 이중 화면 디바이스에 최적화된 플랫폼 간 레이아웃입니다.
  • DualScreenInfo 도우미 클래스 - DualScreenInfo 클래스를 사용하면 보기가 표시된 창과 그 크기, 디바이스의 방향, 힌지 각도 등을 확인할 수 있습니다.
  • 이중 화면 트리거 - Xamarin.Forms.DualScreen 네임스페이스에는 연결된 레이아웃 또는 창의 보기 모드가 변경될 때 VisualState 변경을 트리거하는 두 개의 상태 트리거가 포함되어 있습니다.

자세한 내용은 이중 화면 개발자 문서를 참조하세요.