상세 컨텐츠

본문 제목

안드로이드앱 Swipe 슬라이드 액티비티 사용해서 메인페이지 구성하기완성

안드로이드+드론 제작

by 김일국 2016. 4. 30. 00:58

본문

지난 포스트에 이어서 안드로이드앱 Swipe 슬라이드 액티비티 사용해서 메인페이지 구성하기를 마무리 하겠습니다.

이번에는 Swipe 슬라이드 기능을 보여야 하기 때문에 동영상으로 올립니다.

신규 프로젝트 생성할때 Tabbed Activity 로 생성하였고, 슬라이드 Fragment 액티비티는 3개 만들어서 불러오게 작업 하였습니다.

메인액티비티만 Full스크린에 상단의 액션바를 숨기는 기능을 넣었습니다. 로그인 이후에는 액션바의 Drawer 네비게이션 액티비티에서 액션바가 필요하기 때문입니다.

첨부파일로 작업 결과를 올립니다.(안드로드이 스튜디오로 작업한 프로젝트소스 입니다.)

20160429PM_SwipeSlide.zip

소스에 주석을 달아 놓았으니 자세한 사항은 내용을 참조해 주세요...

이번 포스트는 여기까지 하고 마치겠습니다. 이후는 납품용으로 진행할 예정이라서 더 이상 소스를 공개해 드릴 수가 없습니다.


Ps.

작업중에 하단 위치 표시로 동그라미를 Fragment액티비티에 Shape 스타일xml 파일로 만들어서 사용하는데요, 초기엔 이것을 액션바의 탭영역으로 처리 하려고, Tabbed Activity 생성시 옵션중에 Navigation Style 선택값을 기존 Swipe Views(ViewPager) -> Action Bar Tabs(with ViewPager) 로 선택해서 시도해 보았으나, 현재 최근버전의 Swipe Tabbed 액티비티에서 지원해 주는 탭은 하단으로 이동이 불가능하고, 이미지로 변환도 쉽지는 않을 듯 해서, 위와 같은 방식으로 적용하였습니다. 하단탭으로 처리하는 방식은 안드로이드OS버전3(허니콤) 이전에 탭위젯으로 지원되었고, 이후 4(아이스크립샌드위치,젤리빈, 키캣), 5(롤리팝), 6(마시멜로) 에서는 더이상 탭위젯을 지원하지 않는 다고 합니다.

결과적으론 위 소스에서 페이저 부분을 리니어 레이아웃으로 감싸줘서 해결을 했습니다.(아래)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_weight="1"
        android:gravity="top|center"
        android:orientation="vertical">

        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center"
        android:orientation="horizontal"
        android:padding="20dp">

        <Button
            android:id="@+id/btn1"
            android:layout_width="15dp"
            android:layout_height="15dp"
            android:background="@drawable/button_oval_selected" />

        <Button
            android:id="@+id/btn2"
            android:layout_width="15dp"
            android:layout_height="15dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:background="@drawable/button_oval_unselected"
            android:padding="30dp" />

        <Button
            android:id="@+id/btn3"
            android:layout_width="15dp"
            android:layout_height="15dp"
            android:background="@drawable/button_oval_unselected"
            android:padding="30dp" />
    </LinearLayout>

</LinearLayout>

자바코드는 생략하겠습니다. 하지만, 위처럼 구성하면, 가능하다는 것을 밝혀 둡니다.

20160429PM_SwipeSlide.zip
6.51MB

관련글 더보기

댓글 영역