안녕하세요~!

 

부스트코스 에이스와 그에 관련된 프로젝트는 끝났지만, 수료를 하기 위해서는 마지막 프로젝트까지 진행해야 합니다.

 

 

프로젝트 개요 (Project Overview)

 

메뉴 화면이 보일 때 애니메이션을 적용하고 스플래시 화면을 추가해봅니다.

 

 

먼저 프로젝트 개요입니다. 애니메이션 적용과 스플래쉬 화면 추가. 간단하죠?

 

참고로 스플래시 화면은 앱이 실행되기 전에 보였다가 사라지는 화면을 말합니다. 앱에 필요한 데이터를 로딩하는 시간을 벌 수도 있고 세련된 디자인을 사용한다면 사용자의 시선을 끌 수도 있겠네요.

 

 

요구사항 (Requirements)

**부스트코스 학습을 기반으로 진행하는 프로젝트이기에 JAVA언어를 활용하여 개발하여야 합니다.

애니메이션과 스플래시

1) 애니메이션 동작 기능을 정의하고 정렬 버튼에 적용합니다.

2) 영화목록의 상단 정렬 버튼을 누르면 정렬 메뉴가 보이도록 하되 메뉴를 위한 뷰가 아래쪽으로 애니메이션되어 표시되도록 합니다.

  • 정렬 메뉴의 화면 레이아웃은 아래 그림을 참조하세요.

3) 정렬 메뉴 중 하나를 선택하면 메뉴를 위한 뷰가 위쪽으로 애니메이션된 후 사라지도록 합니다.

4) 앱을 시작했을 때 스플래시 화면이 보였다가 영화목록 화면으로 전환되도록 합니다.

 

 

요구사항 1~4에 대한 내용은 강의내용에 있어서 그대로 따라하면 됩니다.

 

저희가 고민해야 할 부분은 정렬 버튼에 따라서 영화 목록을 재배치하는 것이죠. 일단 완성된 것을 보여드릴게요.

오른쪽 상단에 있는 [좌우 화살표 + 텍스트(예매율순)]이 정렬 버튼입니다.

 

버튼을 눌렀을 때 아래로 펼쳐지는 애니메이션 효과를 적용해야하며,

정렬 방식을 선택하면 그에 맞춰서 영화 순서를 재배치합니다.

 

왼쪽부터 순서대로 보시면, 예매율순으로 배된 영화들이 큐레이션 순으로 재배치된 것을 알 수 있습니다.

 

 

>정렬메뉴 구현

 

사실 여기서도 좀 헷갈렸습니다. 정렬 버튼은 툴바에 있는데 정렬 버튼을 눌렀을 때 목록 역시 툴바 안에서 동작하게 하려고 했는데, 제가 못한 건지 모르겠지만 목록에 아이콘과 텍스트를 동시에 줄 수가 없었습니다.

 

결국 한참 고민한 끝에 .setVisibility을 사용해 버튼이 눌리기 전까지 투명, 눌렀을 때 펼치듯 나타나는 것으로 구현했습니다. 물론 이에 해당하는 View는 툴바가 아니라 외부 레이아웃에 구현했습니다.

 

>영화 순서 재배치

 

저희는 인터넷이 되는 상태라면 데이터베이스에 영화 정보를 저장하는 것을 이전에 진행했습니다. 저는 그걸 이용했습니다. 원리는 간단합니다. 원래 있던 뷰페이저를 초기화하고 원하는 데이터 순으로 재배치합니다.

 

큐레이션 버튼이 눌렸다면, 그에 해당하는 메소드가 동작하고 일단 뷰페이저(영화목록은 뷰페이저)를 초기화합니다.

 

그 후 데이터베이스에서 데이터를 받아오고 큐레이션 순으로 정렬, 그 순서대로 뷰페이저를 다시 채워줍니다.

 

>스플래시 화면

 

방법 1 : AndroidManifest.xml에서 시작 액티비티를 Main이 아닌 Splash로 변경

방법 2 : Main 액티비티에서 곧바로 Splash 액티비티 실행 후 종료

 

저는 1번을 사용했습니다

 

 

모든 요구사항을 충족했으니 리뷰 결과를 볼까요?

 

PASS!

 

이것으로 안드로이드 프로그래밍을 수료하게 되었습니다.

 

모든 코드를 공유했으면 좋았을 텐데, 부스트코스 측에서 금지했기 때문에 어쩔 수가 없습니다. 제 설명이라도 도움이 되었으면 좋겠네요.

+ Recent posts