-
[Android] DrawerLayout의 Swipe를 비활성화 시키기Android 2019. 7. 15. 19:15
DrawerLayout을 사용하다 보면 DrawerLayout의 Swipe 기능을 비활성화시키고 싶은 경우가 있습니다.
이럴 때, 사용할 수 있는 LockMode를 알아보겠습니다.
DrawerLayout Doc
https://developer.android.com/reference/android/support/v4/widget/DrawerLayout
DrawerLayout | Android Developers
From class android.view.ViewGroup void addChildrenForAccessibility(ArrayList arg0) void addFocusables(ArrayList arg0, int arg1, int arg2) void addKeyboardNavigationClusters(Collection arg0, int arg1) boolean addStatesFromChildren() void addTouchables(Array
developer.android.com
문서를 확인해보면 setDrawerLockMode()를 이용해서 원하는 기능을 설정할 수 있었습니다.
기본적으로 전달할 수 있는 매개변수로는 4가지가 있고, 각 매개변수의 기능을 아래와 같습니다.
- LOCK_MODE_LOCKED_CLOSED
-
드로어의 swipe 기능을 비활성화하고, 드로어를 닫습니다.
-
유저는 swipe 모션을 사용할 수 없습니다.
-
- LOCK_MODE_LOCKED_OPEN
- 드로어의 swipe 기능을 비활성화하고, 드로어를 오픈합니다.
- 유저는 swipe 모션을 사용할 수 없습니다.
- LOCK_MODE_UNDEFINED
- 드로어의 설정된 상태들을 초기화 시킵니다.
- LOCK_MODE_UNLOCKED
- LOCK_MODE_LOCKED_CLOSED, LOCK_MODE_LOCKED_OPEN로 비활성화된 swipe 기능을 활성화시킵니다.
위의 메서드와 상수를 활용하여 아래와 같이 호출하여 적용 할 수 있습니다.
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
'Android' 카테고리의 다른 글
[IDE] 원하는 코드블럭을 '접어'보자 - Custom code folding regions (1) 2019.08.14 [Android] 쉽고 빠르게 시계 만들기 (현재시간 출력) (1) 2019.07.23 [RecyclerView] Item에 ClickListener 달기 (0) 2017.09.19 [RecyclerView] 가로형 RecyclerView 만들기 (0) 2017.09.19 [RecyclerView] 기본 RecyclerView 만들기 (0) 2017.09.19 - LOCK_MODE_LOCKED_CLOSED