Android Navigation
들어가며
Navigaion은 Jetpack에 해당되는 내용으로 앱 내에서 조금 더 자유롭고 체계적인 이동을 돕는다. 공식문서에 의하면 Navigaion은 세가지로 구성되는데 첫번째는 모든 정보가 포함된 nav_graph로 .xml파일 형식이다. 갈수있는 경로가 포함된다. 두번째는 NavHost로 navigaion에서 대상을 표시하는 빈 컨테이너이고 세번째는 NavController로 NavHost에서 앱 탐색을 관리하는 객체로 이동을 관리한다.
Gradle
kotlin에 해당하는 내용까지를 기본으로하며 필요한 경우 더 이용할 수 있다.
dependencies {
def nav_version = "2.3.2"
// Kotlin
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
// Feature module Support
implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version"
// Testing Navigation
androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"
// Jetpack Compose Integration
implementation "androidx.navigation:navigation-compose:1.0.0-alpha04"
}
Navigation 그래프 만들기
res아래에 navigation이라는 폴더를 만들고 그 아래에 .xml파일을 만든다. 필요한 fragment들을 미리 만든 후 이미지 왼쪽상단에 추가버튼을 통해 필요한 fragment들을 추가한 후 흐름에 맞게 연결한다.(이때 찾아지지않는다면 build를 하고 다시 시도한다)
.kt파일에서 사용하기
이후 다음과 같은 형태로 사용한다. 이때 id는 미리 navigation_graph.xml파일에서 정의한 후 사용할 수 있다.
//화살표 방향으로 이동할 경우
view.findNavController().navigate(R.id.action_choosePreferFragment_to_userCheckFragment)
//이전 페이지로 돌아가고싶은경우
view.findNavController().popBackStack()
Author And Source
이 문제에 관하여(Android Navigation), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jjungminyy/Android-Navigation저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)