Development

슬라이딩 메뉴(Sliding Menu) 라이브러리

이 글은 매우 오래된 것으로, 네비게이션 드로어(Navigation Drawer)라는 구글이 제공하는 새로운 API를 사용하길 바란다. 이에 대하여 새로 글을 작성하였다.


화면을 왼쪽에서 오른쪽으로 드래그, 혹은 스와이프 하면 왼쪽에서 부드러운 애니메이션과 함께 짠 하고 나타나는 슬라이딩 메뉴는 요즘 앱들의 대세적인 UX/UI라고 보아도 과언이 아니다. 홈버튼을 제외하면 화면을 조작하기 위한 다른 하드웨어 버튼이 존재하지 않는 iPhone, iPad의 경우 이러한 슬라이딩 메뉴는 상당히 오래전부터 유행했었고, 구글의 기본 앱들이 최근들어 업데이트되면서 거의 모든 앱에 해당 기능이 나타났다.

문제는 이러한 슬라이딩 메뉴를 어떻게 구현하느냐이겠다. 커뮤니티를 좀 돌아다니다 보면, 안드로이드의 경우 Drawer라는 위젯이 예전부터 있었기 때문에 이를 이용하여 직접 만들어보라고 하거나, 혹은 꽤 오래된 소스코드를 추천해준다.

나의 경우는 이 라이브러리를 추천하고 싶다.

https://github.com/jfeinstein10/SlidingMenu

이 라이브러리 역시 따로 레이아웃을 손댈 필요가 없는 아주 편한 오픈소스 라이브러리로써, 아래와 같이 사용하면 된다.

보면 알겠지만, SlidineMenu 객체를 선언하고, 잡다한 몇가지 설정을 해준 뒤, attachToActivity 메서드를 사용하면 놀랍게도 위의 화면과 같이 슬라이딩 메뉴를 만들 수 있다.

TouchMode를 바꾸면 스와이프 제스쳐를 인식하는 범위를 설정 가능하고, attachToActivity 메소드를 사용할때 SLIDINGCONTENT가 아니라 SLIDINGWINDOW로 바꾸면 화면 전체가 이동하면서 메뉴가 나타나도록 만들 수도 있다. setMenu는 메뉴에 나타날 XML Layout을 지정해주는 것으로서, 얼마든지 커스텀을 할 수 있다.

XML Layout 내에서 사용하는 방법도 있지만, 개인적으로는 위와같이 자바코드 몇줄 치는게 훨씬 더 사용하기 편했다.

위의 이미지는 현재 개발중인 Seeko Mobile V2 어플리케이션으로, 아주 잘 작동하고 있다. 메뉴에 나타나는 그림자와 페이딩 애니메이션 등도 설정할 수 있기 때문에 적은 노력으로도 굉장히 좋은 효과를 볼 수 있다. 이 라이브러리의 신뢰도는 Wunderlist, Evernote Food와 같은 매우 우수한 앱들이 사용하고 있다는 점에서 이미 증명된 것 아닐까.

Published by AlphaFactory

프로그래밍을 좋아하는 건축공학도입니다. 블로그는 프로그래밍과 IT쪽으로 현재 운영중이지만 앞으로 건축관련 내용도 다뤄보려고 합니다. 원래 Android 및 Java를 주력으로 다뤘지만 최근에는 개인 프로젝트로 인하여 C#을 주력으로 다루고 있습니다.

5 thoughts on “슬라이딩 메뉴(Sliding Menu) 라이브러리”

  1. ssongyy says:

    이 라이브러리를 사용해보고싶은데 다운받은걸 그대로 임포트 시켜서 example 로 확인해보려했더니 다 에러가 나더라구요. 혹시 사용방법을 step by step 으로 확인 할수 있을까요?

  2. 흠바바 says:

    감이 안잡히는데 저렇게 했는데도 에러가 나타나는데..

    1. AlphaFactory says:

      Preference에 들어가셔서 슬라이딩 메뉴 라이브러리는 isLibrary가 체크되어있는지, 본체가 되는 앱은 슬라이딩 메뉴 라이브러리를 참조하고 있는지 확인해보시기 바랍니다. 일반적으로 JAR 파일을 임포트해서 사용하는 것과는 좀 차이가 있습니다.
      http://ch7895.wordpress.com/2012/05/04/andorid-library-project/

댓글은 블로그 운영에 힘이 됩니다!