이중 화면 레이아웃 라이브러리
중요
이 문서에서 설명하는 기능 및 지침은 공개 미리 보기 상태이며 일반적으로 공급되기 전에 대대적으로 수정될 수 있습니다. Microsoft는 여기에 제공된 정보에 대해 명시적 또는 묵시적 보증을 하지 않습니다.
이러한 라이브러리에는 Android 개발자가 폴더블 디바이스용 애플리케이션을 만드는 데 도움이 되는 보기, 레이아웃, 도우미 함수 등의 세트가 포함되어 있습니다.
구성 요소에 대한 모든 화면 모드를 만들고 처리하는 작업을 수행해야 하는 경우 주요 초점은 놀라운 앱을 만드는 것입니다.
모듈
아래쪽 탐색 - 이중 화면 동작 기능이 있는 사용자 지정 BottomNavigationView를 포함합니다.
BottomNavigationView
는 BottomNavigationView를 왼쪽 또는 오른쪽 화면으로 이동하는 기능을 제공합니다.
FragmentsHandler - 다른 화면 모드에서 조각을 처리하는 코드를 포함합니다.
FragmentManagerStateHandler
는 작업이 이중 또는 단일 화면으로 전환될 때 화면 모드 관련 조각을 복원하는 기능을 제공합니다.
레이아웃 - 이중 화면 디바이스용 UI를 만드는 데 도움이 되는 레이아웃을 포함합니다.
FoldableLayout
은 UI를 보관할SingleScreen
또는DualScreen
컨테이너를 만듭니다.FoldableFrameLayout
은 자식 보기를 확장하거나 왼쪽 또는 오른쪽 화면으로 이동하는 기능을 제공합니다.
RecyclerView - 사용자 지정 RecyclerView.ItemDecoration 및 이중 화면 동작이 있는 LayoutManager 클래스를 포함합니다.
FoldableItemDecoration
은 애플리케이션이 스팬 모드일 때 디바이스 힌지를 가리는 셀을 위한 간격을 추가합니다. 이는FoldableLayoutManager
와 함께 사용해야 합니다.FoldableLayoutManager
는 디바이스가 단일 화면 모드일 때LinearLayoutManager
를 제공하고 디바이스가 스팬 모드일 때는GridLayoutManager
를 제공합니다.FoldableStaggeredItemDecoration
은 애플리케이션이 스팬 모드일 때 디바이스 힌지를 가리는 셀을 위한 간격을 추가합니다. 이는FoldableStaggeredLayoutManager
와 함께 사용해야 합니다.FoldableStaggeredLayoutManager
는 디바이스가 단일 화면 모드일 때LinearLayoutManager
를 제공하고 디바이스가 스팬 모드일 때는StaggeredGridLayoutManager
를 제공합니다.
탭 - 이중 화면 동작 기능이 있는 사용자 지정 TabLayout 클래스를 포함합니다.
TabLayout
폴더블 기능을 검색하고 왼쪽 또는 오른쪽의 탭을 정렬하는 옵션을 제공할 수 있습니다.
폴딩 가능한 탐색 구성 요소 - Google 탐색 구성 요소에 따라 이 구성 요소에는 이중 화면 탐색 패턴을 구현하는 라이브러리 세트가 포함되어 있습니다.
Snackbar - 폴더블 디바이스에 배치하기 위해
Snackbar
에 컨테이너로 사용할 수 있는 사용자 지정FrameLayout
입니다.
종속성 선언
최상위 수준 build.gradle 파일에 mavenCentral() 리포지토리가 있는지 확인합니다.
allprojects { repositories { google() mavenCentral() } }
모듈 수준 build.gradle 파일에 필요한 종속성을 추가합니다(현재 버전은 여기에 표시된 것과 다를 수 있음).
아래쪽 탐색
implementation "com.microsoft.device.dualscreen:bottomnavigation:1.0.0-beta4"
조각 처리기
implementation "com.microsoft.device.dualscreen:fragmentshandler:1.0.0-beta5"
레이아웃
implementation "com.microsoft.device.dualscreen:layouts:1.0.0-beta8"
탭
implementation "com.microsoft.device.dualscreen:tabs:1.0.0-beta4"
RecyclerView
implementation "com.microsoft.device.dualscreen:recyclerview:1.0.0-beta6"
SnackbarContainer
implementation "com.microsoft.device.dualscreen:snackbar:1.0.0-alpha2"
폴딩 가능한 탐색 구성 요소
def nav_version = "1.0.0-alpha3" // Java language implementation implementation "com.microsoft.device.dualscreen:navigation-fragment:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui:$nav_version" // Kotlin implementation "com.microsoft.device.dualscreen:navigation-fragment-ktx:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui-ktx:$nav_version"
사용되지 않는 모듈
중요
이러한 레이아웃의 초기 릴리스는 단일 라이브러리 com.microsoft.device:dualscreen-layout
에 패키징되었습니다.
이 라이브러리는 사용되지 않습니다. 필요한 컨트롤에 대해 위의 개별 라이브러리를 사용하는 것이 좋습니다.
ScreenManager(사용되지 않음) - 이중 화면 디바이스용으로 개발하기 위해 구성 요소에 필요한 핵심 클래스를 포함합니다. 코드에서 직접 활용할 수도 있습니다.
ScreenManagerProvider
를 사용하여SurfaceDuoScreenManager
의 단일 인스턴스를 가져옵니다.- 화면 모드가 변경되었을 때 알림을 받으려면
SurfaceDuoScreenManager
를 사용하여 수신기를 등록합니다. ScreenInfoProvider
를 사용하여ScreenInfo
의 인스턴스를 가져옵니다.ScreenInfo
를 사용하여 화면 모드에 따라 다른 화면 정보를 가져옵니다.
표시 마스크 API를 사용하는 버전을 선택하려면 gradle 파일에 다음 줄을 추가합니다.
implementation "com.microsoft.device.dualscreen:screenmanager-displaymask:1.0.0-beta4"
또는 창 관리자 API를 사용하는 버전을 선택하려면 다음 줄을 추가합니다.
implementation "com.microsoft.device.dualscreen:screenmanager-windowmanager:1.0.0-beta4"