반응형
Notice
Recent Posts
Recent Comments
Link
NOW OR NEVER
[Android] Fragment에서의 toolbar 내 뒤로 가기 버튼 구현 본문
반응형
Fragment에서 toolbar 뒤로 가기 버튼 구현
- 목표 : toolbar 왼쪽에 뒤로가기 아이콘을 배치
- 문제 : toolbar에 메뉴아이콘을 사용해서 적용시키면 오른쪽으로만 배치
- 시도 방법 1: tool bar 객체를 actionbar로 만들어서 왼쪽에 뒤로 가기 버튼을 만들기
- 실패 이유 : setSupportActionBar 메서드로 toolbar를 actionbar로 대체 하여 setDisplayHomeAsUpEnabled(true)을 이용하여 네비게이션 버튼을 배치하려 했으나 기존 메뉴(res 내 메뉴 파일로 만든 메뉴)인 저장버튼이 같이 뜨지 않는 현상이 계속해서 발생하여 실패하였다.
- 원인을 찾아 본 결과 해당 메서드를 쓴 분들의 코드는 fragment를 사용하지 않고 activity를 이용해 화면전환이 이루어지는 것을 확인 하였고 다른 방법을 찾아보기로 했다.
- 시도 방법 2 : setNavigationIcon으로 뒤로 가기 버튼을 활성(성공)
- 위 실패를 바탕으로 다른 검색어로 검색한 결과 fragment에서 navigation 버튼을 구현한 사례를 찾을 수 있었다.
- 해당 방법으로 내 코드에 맞게 작성한 결과 원하는 대로 왼쪽에 네비게이션 버튼, 오른 쪽엔 메뉴파일로 구성한 메뉴 아이콘들이 뜨게 할 수 있었다. 코드와 출력 결과는 아래에서 볼 수 있다.

toolbar아이디.run {
title = "toolbar 제목"
// 뒤로가기 버튼 활성화
setNavigationIcon(R.drawable.baseline_arrow_back_24)
setNavigationOnClickListener {
// 네비게이션 아이콘 클릭 시 적용할 동작
}
}
- 뒤로 가기 버튼 활성화 참고 링크 : https://velog.io/@thwjd9393/%ED%94%84%EB%9E%98%EA%B7%B8%EB%A8%BC%ED%8A%B8-%EA%B0%84%EC%9D%98-%EC%9D%B4%EB%8F%99-%ED%94%8C%EB%9E%98%EA%B7%B8%EB%A8%BC%ED%8A%B8-toolbar
프래그먼트 간의 이동& 플래그먼트 toolbar
액티비티의 이동은 Intent로 하듯 Fragment는 FragmentManager를 이용하여 움직인다commit() 빼먹지 말기!!!.addToBackStack(null)을 해주면 현재 프래그먼트는 스택에서 지운다플래그먼트에선 supportAction 을 쓰는
velog.io
Drawable 폴더 내에 뒤로 가기 아이콘이 존재하지 않는 현상 해결
- drawble 폴더에 뒤로가기 아이콘이 없어서 안드로이드의 material icon을 활용하기로 했다
- 아이콘 xml 생성 방법 : res - drawble 오른쪽 클릭 - new - Vector assets - clip Art에서 원하는 아이콘 지정 - 아이콘 크기, 색 등 조정 - next -finish
- 나의 경우 clip Art에서 arrow back을 사용했다.
- 참고 링크 : https://thinking-face.tistory.com/entry/Android-Studio%EC%97%90%EC%84%9C-%EB%A8%B8%ED%8B%B0%EB%A6%AC%EC%96%BC-%EC%95%84%EC%9D%B4%EC%BD%98-%EC%89%BD%EA%B2%8C-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
Android Studio에서 머티리얼 아이콘 쉽게 사용하기
머티리얼 디자인 아이콘 Resources Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences. material.io 깔끔하고.. thinking-face.tist
thinking-face.tistory.com
'Android' 카테고리의 다른 글
[Android] Sensor & Location (0) | 2023.07.17 |
---|---|
[Android] SQLiteDatabase 구조 및 데이터 보는 방법 (0) | 2023.07.07 |
[Android] AndroidX 패키지가 작동하지 않는 오류 해결 (0) | 2023.07.06 |
[Android] Resource & SQLiteDataBase (0) | 2023.07.05 |
[Android] File I/O (0) | 2023.07.04 |