코틀린 안드로이드 앱 개발(3) Main 화면 설정 (Fragment, Constraintlayout)
안녕하세요. 오늘은 저희 프로그램의 Main 화면을 만들어보도록 하겠습니다. 화면을 제작하기에 앞서 지난 글에서 설정한 nav_graph를 Main화면에서 Host로 설정해주고 Fragment로 설정을 해주는 작업을 진행하겠습니다.
Fragment는 Activity 내에 생성되는, UI 구성을 여러 개의 모듈 단위로 작성할 수 있도록 해주는 기능입니다. 또한 한번 작성된 Fragment는 여러 Activity에서 재사용이 가능하므로 UI 구성에 소요되는 작업량을 많은 부분 감소시킬 수 있습니다.
res -> layout -> activity_main.xml 로 가서 기존에 있던 TextView를 제거해주고 그자리에 fragment 코드를 넣어줍니다.
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_graph" />
이 코드는 아래 링크로 가셔서 내리시다보면 보실수 있습니다.
"XML을 통한 NavHostFragment 추가" 이부분을 찾으시면 확인하실수 있습니다.
https://developer.android.com/guide/navigation/navigation-getting-started
이제 Fragment들을 관리할 폴더를 만들어 보겠습니다. 왼쪽 디렉토리에서 app -> java 우클릭후 New -> Package를 추가해주겠습니다. 폴더 이름은 fragment로 해주겠습니다.
fragment로 만들어준 Package를 우클릭후 New -> Fragment -> Fragment(Blank)를 만들어주겠습니다.
이름은 MainFragment로 해주겠습니다. 그러면 자동으로 Fragment Layout Name에도 이름이 수정되면서
res -> layout 에 fragment_main.xml이 생기는 것을 확인하실수 있습니다.
그리고 만들어진 fragment_main.xml로 가셔서 FrameLayout 을 ConstraintLayout으로 변경해주겠습니다.
여기까지 하셨으면 이제 첫번째 Main 화면을 만드실 준비가 되셨습니다. 다음글에서 이제 디자인을 해보도록 하겠습니다. 부족한 글을 읽어주셔서 감사합니다.