일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 안드로이드 공공데이터
- 안드로이드 인트로 코틀린
- 백준 통계
- 백준 11650
- 나이순 정렬
- 공공데이터 kotlin
- 백준 11651
- 백준 1920
- 안드로이드 미세먼지
- 안드로이드 인트로 화면
- 코틀린 미세먼지
- 좌표 정렬하기
- 백준
- 수 정렬하기3
- ViewBinding Fragment
- 백준 4949
- 백준 11866
- kotlin retrofit
- 인트로 애니메이션
- Fragment 이동
- 공공데이터 retrofit
- 백준 암호제작
- 백준 균형잡힌 세상
- 모각코
- 백준 요세푸스 문제0
- 백준 1837
- 코틀린 공공데이터
- kotlin fragment
- 백준 랜선 자르기
- 좌표 정렬하기2
- Today
- Total
개발 지식 공유, 복습
Fragment 이동 - Kotlin 본문
화면을 구성하는 방법은 액티비티와 프래그먼트 보통 2가지로 알고 있다.
이때 프래그먼트는 액티비티의 일부만 바꾸는 방식이다.
먼저 메인 액티비티 화면 구성을 해주자. 간단하게 버튼 2개를 액티비티에 두고 각 버튼을 누르면 해당 프래그먼트가 나타나게 구현할 것이다.
프래그먼트가 놓일 공간을 FrameLayout으로 놓는다. 이는 Layout 부분에서 찾을 수 있다.
그리고 각 프래그먼트를 구성할 xml을 만들어준다.
또 다른 프래그먼트 또한 이와 비슷하게 구성했다.
프래그먼트 클래스이다.
그 전 블로그처럼 액티비티뿐 아니라 프래그먼트도 viewBinding을 이용해 구현해보았다.
기본적인 설정은 안드로이드 개발자 공식 페이지를 보면 도움이 될 것이다.
https://developer.android.com/topic/libraries/view-binding?hl=ko
그러면 해당 프래그먼트에 있는 아이디들을 binding. 을 통해 접근할 수 있다. 그리고 해당 xml을 바인딩 함으로써 다른 xml에 있는 아이디와 겹쳐도 구분할 수 있어 더 효율적이다. (아 그리고 null safety도 보장된다고 한다!)
28~30줄을 보면 액티비티와 마찬가지로 해당 화면이 없어졌을 때 해당 바인딩을 null로 초기화한다.
마지막으로 메인 액티비티를 보자.
메인 액티비티 역시 바인딩을 이용해 구현하였고 해당 버튼을 누르면 해당 프래그먼트로 전환한다.
이때 replace 대신 add를 사용하면 안 된다. 그 이유는 replace는 교체되지만 add를 사용할 경우 화면이 겹치므로 에러가 나거나 원하는 화면이 나오지 않을 것이다.
그리고 addToBackStack은 이전 화면들이 스택에 저장되어 휴대폰에서 뒤로 가기 버튼을 누를 경우 이전 화면으로 되돌아가는 것이다. 이를 설정하지 않을 시 어플이 바로 종료된다.
마지막으로 결과 화면이다.
'안드로이드(Kotlin)' 카테고리의 다른 글
Retrofit2 - 공공데이터(2) (0) | 2022.05.15 |
---|---|
Retrofit2 - 공공데이터(1) (0) | 2022.03.10 |
인트로 화면(Splash) - Kotlin (0) | 2022.01.28 |