-> 보면 3개의 fragment가 배치되어 있음
여기서 중요한 부분은 Toolbar와 include 부분이다.
**
화면의 Toolbar에 관련된 설정을 하겠다면 이 부분에서 해주면 된다. **
Include에는 layout/content_main.xml파일이 설정되어 있다.
NavHostFragment가 배치되어 있다.
보여주고자 하는 Fragment들을 설정하는 부분으로 코드에서 설정하면 된다.
NavHostFragment의 navGraph 속성에 보여줄 Fragment들이 등록되어 있는 xml 파일을 설정한다.
val headerLayout = binding.navView.getHeaderView(0) as LinearLayout
// 하위의 View들을 추출한다.
val navHeaderMainBinding = NavHeaderMainBinding.bind(headerLayout)
navHeaderMainBinding.imageViewHeader.setImageResource(R.drawable.imgflag8)
// 이미지가 너무 크면 xml에서 고정하거나, 이미지 사이즈를 정해서 이미지 사이즈에 맞게 가져온다.
navHeaderMainBinding.textViewHeader1.text = "이 채연"
navHeaderMainBinding.textViewHeader2.text = "난... ㄱ ㅏ끔... 눈물을 흘린 ㄷ ㅏ .... "
나중에 로그인한 회원의 정보를 DB에서 받아와서 하면 될 듯
총 2개를 만들었다.
각 프래그먼트의 이름으로 사용할 문자열을 등록해준다.
<string name="first_name">First</string>
<string name="second_name">Second</string>
여기서 등록할 것을 선택하고
화면에 우클릭을 눌러 AutoArrage를 한다 .
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mobile_navigation"
app:startDestination="@id/firstFragment">
주의!!!!!
메뉴 항목의 id는 mobile_navigation.xml에 등록한 fragment들의 id와 일치해야함 <group android:checkableBehavior="single">
<item android:title="첫 번째 프래그먼트"
android:id="@+id/firstFragment"/>
<item android:title="두 번째 프래그먼트 "
android:id="@+id/secondFragment"/>
</group>
appBarConfiguration = AppBarConfiguration(
setOf(
R.id.firstFragment,R.id.secondFragment
), drawerLayout
)
위의 코드에서 setOf 에 메뉴의 item id를 순서대로 작성해준다.
잘 바뀐 것을 알 수 있다.