728x90
반응형

안드로이드 앱개발

안드로이드 어플에서 화면전환하는 방법에 대해 독학한 기록.

android에서 제공하는 codelab에 참 많은 정보들이 있지만

버전이 바뀜에 따라 표현해놓은 것들도 달라지고, 처음부터 맨땅에 헤딩하듯이 독학하는 내게는

다르게 적용되는 걸 따라가기가 너무 벅차 일단 앱개발에 있어서 필요한 기능들을 우선적으로 자습해보기로 했다.

fragment_first.xml

각 화면의 레이아웃은 res > layout > ___.xml 의 형태로 저장한다.

activity_main.xml에 이런저런 요소를 다 집어넣는 줄 알았는데 여기는 앱바(appbar), 툴바(toolbar)등의 앱의 백그라운드 같은 요소들이 들어가있고

버튼이나 텍스트 등의 컨텐츠라고 불릴만한 요소는 별도의 xml파일에 배치된다.

nav_graph.xml

fragment 간의 action을 설정하는 nav_graph.xml파일.

각 fragment의 id를 설정하고, <action>태그action자체의 id를 설정할 수 있고,

destination에서 이 action을 통해 어디로 가는지를 설정할 수 있다.

Fragment가 많아지면 상당히 복잡해지겠지만 지금은 3개밖에 없기 때문에 우측에 도식화되어서 보이기 때문에 동작을 알기 쉽다.

FirstFragment.kt 코틀린파일

override fun onViewCreated 내부에 각 버튼을 통해 아까 설정한 action 동작을 실행하는 코드를 적는다.

findNaviController().navigate 라는 다소 직관적인 네이밍을 가지고 있다.

R.id.이후에는 nav_graph.xml에서 정했던, 자신이 원하는 actiond의 id를 기재.

onCreateView안에 return inflater.inflate(R.layout.이후의 layout 아이디를 통일해주지 않으면

코드와 액션은 다 제대로 설정했는데 엉뚱한 화면이 튀어나올 수 있으니 주의해야한다.

728x90
반응형

+ Recent posts