[안드로이드 공부]/프래그먼트

안드로이드 프래그먼트 탭 생성하기 -viewpager

코코모아 2015. 10. 12. 15:07

아래는 코모스튜디오가 직접 만든 무료 앱이에요
(한 번만 봐주세요 ^^)

01

02

03

정각알림 만들기(말하는시계)

말하는 시계 (취침, 자전거) 

말하는 타이머 음성 스톱워치 

호랑이가 담배 피우지 않던 시절에는 안드로이드는 탭 호스트라는 것을 사용하여 멀티 화면을 정의해서 썼다고 한다. 그럼 호랑이가 골초가 되어버린 요즘에는 어떻게 탭 효과를 낼까? 


방법은 간단한데, 요즘 방식으로 되어있는 글이 없어서 남겨 보도록 한다.


1. 안드로이드 스튜디오에서 새 프로젝트 만들기를 한 뒤 Fragment Tab을 선택한다.


2. 일단 메인 액티비티 하나와 레이아웃이 생성 된다.


3. 메인 액티비티는 탭 안에 담을 프래그먼트를 조정할 수 있고, 레이아웃은 타이틀 및 탭 제목등의 효과를 담당한다.


4. 메인 액티비티는 탭을 조정 하기 때문에 탭에 담길 프래그먼트(Fragment)를 넣어주는 작업을 해야 한다.

- File에서 New를 한 뒤 Fragment를 하나 생성한다.

- Layout도 하나 만들어지는데 알아서 꾸미면 된다

.

5. 메인 액티비티에서 탭을 담아야 한다.



메인 액티비티에서 위 클래스를 찾아 간뒤, case 부분을 위 처럼 해주면 된다.


 fragment = Fragment.instantiate(mContext, a.class.getName());


즉, 탭에 담길 프래그먼트 a를 a.class로 넣어주면 끝.



6. 에러를 잡자


- 이렇게 처리를 하고 나면 아래와 같은 에러를 만나게 될 것이다.


cannot be cast to android.support.v4.app.Fragment


a.class로 가서 import를 android.support.v4.app.Fragment 로 바꿔준다.


7. 또 에러를 잡자.


android must implement onfragmentinteractionlistener


이 놈은 메인 액티비티와 탭에 들어간 프래그먼트 간에 통신을 위한 리스너다. 즉, 메인 액티비티에 반드시 구현을 해주어야 한다.

    public void onFragmentInteraction(Uri uri){
       
    }

간단히 위와 같이 구현만 해도 된다. 나중에는 메시지 전달에 대해 세부적으로 구현 해주어야 한다.

8. 실행. 끝. 그럼 요런식으로 나올 것이다.


이제 손으로 왼쪽 오른쪽으로 쓸어 넘기면 탭이 슉슉 바뀔 것이다! 소스는 기본으로 다 만들어주니, 위 단계만 거치면 무조건 뜨게 되어있다.


모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다.
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요.