Android - 네이게이션 바 ( google play 메뉴 바 처럼) 안드로이드

안드로이드 구글 플레이에 들어가보면 네비게이션 바가 나온다. 


이 네비게이션 바는 

support library v4 에서 지원하고 는 DrawerLayout 으로 구현되어진 기능이다. 
(이것을 몰랐을 때 직접 구현하기 위해 무지 빡셨다는);;

이것에 대한 구현 방법은 아래 사이트에서 확인 가능하다. 


DrawerLayout  외에 SlidingPaneLayout 도 비슷한 기능을 하는데 둘의 차이점은 명확하다. 
DrawerLayout 네이게이션 기능을 SlidingPaneLayout 는 메인 Fragment의 상세보기 기능이다. 

정확한 차이점은 stackoverflower 답변을 보자. 


이번에 만든 기능은 액션바가 없는 상태에서 DrawerLayout을 이용한 네이게이션 바를 만드는 것이였는데 안드로이드 개발자 사이트 training 에서는 액션바와 같이 연동하는 샘플을 제공하고 있다. 

이것이 내가 만든 액션바 없는 네비게이션 바 샘플 코드


수시로 안드로이드 개발자 사이트를 들락날락하다보면 볼 때마다 새로운 것들을 찾는 기분이다. 안드로이드 개발자 사이트에서 제공하는 기능들만 제대로 이용한다면 안드로이드 고급 개발자가 되지 않을가 싶다. 

2014.1.16 추가
left munu 
    <ListView
        android:id="@+id/lv_right_pane"
        android:layout_width="280dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="#FF00FF00"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp" />

rift menu
    <ListView
        android:id="@+id/lv_right_pane"
        android:layout_width="280dp"
        android:layout_height="match_parent"
        android:layout_gravity="end"
        android:background="#FF00FF00"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp" />

왼쪽 메뉴를 원하는 경우 
  layout_gravity =  start
  dl_playmusic_list.openDrawer(Gravity.LEFT)
오른쪽 메뉴를 원하는 경우 layout_gravity를 end로
  layout_gravity =  end
  dl_playmusic_list.openDrawer(Gravity.RIGHT)



덧글

  • 지나가는이 2014/11/10 13:25 # 삭제 답글

    오른쪽 메뉴를 원하고 있었는데 그래비티옵션으로 가능한거였네요
    좋은 정보 감사합니다 ^_^
댓글 입력 영역