Use Docs
Android SwipeDrawer sliding drawer library
  • Start using
  • Introduce
  • Setup
  • Using docs
  • Layout attribute
  • Get attribute
  • Set attribute
  • Call Interface
  • Call method
  • Static method

Start using

Introduce

Android SwipeDrawer sliding drawer library can add up, down, left and right drawer layouts at the same time. There are three drawer opening modes: drawer mode, overlay mode and fixed mode. It supports unlimited nesting and edge sliding opening. Swipedrawer can also be used as a drop-down refresh layout, and supports listview, recyclerview, GridView, Scrollview, etc.



Setup

Addrepositories:

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

Adddependencies:

dependencies {
    ...
    implementation 'cn.Leaqi:SwipeDrawer:1.6'
}

Addto the layout file:

<cn.leaqi.drawer.SwipeDrawer
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:leftLayout="@+id/leftDrawer">

    <!-- The leftLayout property specifies the left layout -->
    <LinearLayout
        android:id="@+id/leftDrawer"
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:background="#FF5722">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Left" />
    </LinearLayout>

    <!-- By default, the first layout without ID is the main layout -->
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Main" />
    </RelativeLayout>
</cn.leaqi.drawer.SwipeDrawer>


Using docs

Layout attribute

Attribute name explain type Default value
mode

Open mode:

: Drawer mode

: Cover mode

: Fixed mode

enum drawer
open

Initialization status:

: Open left

: Open top

: Open right

: Open bottom

enum -
mask

Background mask:

: Not used

: Fixed color

: Gradual depth

enum none
mainLayout Specifies the main layout ID reference The default is the first layout with no ID specified
leftLayout Specifies the left layout ID reference -
topLayout Specifies the top layout ID reference -
rightLayout Specifies the right layout ID reference -
bottomLayout Specifies the bottom layout ID reference -
mainType

Main layout type:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

enum view
leftType

Left layout type:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

enum view
topType

Top layout type:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

enum view
rightType

Right layout type:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

enum view
bottomType

Bottom layout type:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

enum view
leftMode

Specify left on mode:

: Drawer mode

: Cover mode

: Fixed mode

enum drawer
topMode

Specify top on mode:

: Drawer mode

: Cover mode

: Fixed mode

enum drawer
rightMode

Specify right on mode:

: Drawer mode

: Cover mode

: Fixed mode

enum drawer
bottomMode

Specify bottom on mode:

: Drawer mode

: Cover mode

: Fixed mode

enum drawer
mainOpen

Main layout touch event after opening:

: Unshielded

: Click only

: Disable all touch events

enum none
parentDrawer Specifies the SwipeDrawer parent layout ID, which is used when nesting reference -
mainScroll Specifies the sliding layout ID under the main layout reference -
leftScroll Specifies the sliding layout ID under the left layout reference -
topScroll Specifies the sliding layout ID under the top layout reference -
rightScroll Specifies the sliding layout ID under the right layout reference -
bottomScroll Specifies the sliding layout ID under the bottom layout reference -
leftDragOpen Left layout drag open boolean true
topDragOpen Top layout drag open boolean true
rightDragOpen Right layout drag open boolean true
bottomDragOpen Bottom layout drag open boolean true
showLayout Whether the layout of non current operation is hidden boolean false
autoClose Close other SwipeDrawer after opening boolean false
maskClose Click mask to close boolean false
maskColor Mask color color #80000000
dragClose Allow drag close boolean true
dragCloseType

Drag Close Type:

:Whole Layout

:Main Layout

:Drawer Layout

Warn:Minimum version required >= 1.4
enum all
scrollOuterDrag Whether dragging is allowed outside the sliding layout boolean false
autoLayout Whether to update automatically when the size changesWarn:Minimum version required >= 1.2 boolean true
shrinkRange Drag distance:
Default value: , Drag direction 1 / 5 of height / width
: Can drag, But it will not turn on or off
float 5
dragDamping Drag damping: 0-9
: No dampingWarn:When version >= 1.5, the value range is 0-99, the larger the value, the faster the speed
int 10
dragRange Edge drag
Only dip at the most edge of the layout direction can be dragged
: Full layout drag
dip 0
leftDragRange Left edge drag
Left Only dip at the most edge of the layout direction can be dragged
: Full layout dragWarn:Minimum version required >= 1.5
dip 0
topDragRange Top edge drag
Top Only dip at the most edge of the layout direction can be dragged
: Full layout dragWarn:Minimum version required >= 1.5
dip 0
rightDragRange Right edge drag
Right Only dip at the most edge of the layout direction can be dragged
: Full layout dragWarn:Minimum version required >= 1.5
dip 0
bottomDragRange Bottom edge drag
Bottom Only dip at the most edge of the layout direction can be dragged
: Full layout dragWarn:Minimum version required >= 1.5
dip 0
leftOffset Left layout offset
Left layout offset outwarddipWarn:Minimum version required >= 1.5
dip 0
topOffset Top layout offset
Top layout offset outwarddipWarn:Minimum version required >= 1.5
dip 0
rightOffset Right layout offset
Right layout offset outwarddipWarn:Minimum version required >= 1.5
dip 0
bottomOffset Bottom layout offset
Bottom layout offset outwarddipWarn:Minimum version required >= 1.5
dip 0
dragSlop Drag intercept distance
The event is intercepted only when the drag distance is greater thanWarn:Minimum version required >= 1.1
dip 5px
turnCancel Pull back to cancel operation
When the drag reaches the open or closed distance, the operation will be canceled after releasing when the drag back distance is greater than Warn:Minimum version required >= 1.6
dip 10px
maxDragSize Maximum drag height / width
: Layout height / width
dip 0
duration Animation speed int 200
interpolator Animation interpolator reference AccelerateDecelerateInterpolator


Get attribute

Method name explain return
getShow()

Get whether to open

boolean
getIntercept()

Get whether the event is intercepted and whether it is being dragged

boolean
getArriveRange()

Gets whether the drag exceeds the open / close distance

boolean
getDirection()

Gets the direction of the operation:

: Not operated

: Left layout

: Top layout

: Right layout

: Bottom layout

int
getMaskView()

Get mask view, not set to

view
getMainView()

Get main layout view, not set to

view
getLeftView()

Get left layout view, not set to

view
getTopView()

Get top layout view, not set to

view
getRightView()

Get right layout view, not set to

view
getBottomView()

Get bottom layout view, not set to

view
getMode()

Getattribute:

: Drawer mode

: Cover mode

: Fixed mode

int
getLeftMode()

Getattribute:

: Drawer mode

: Cover mode

: Fixed mode

int
getTopMode()

Getattribute:

: Drawer mode

: Cover mode

: Fixed mode

int
getRightMode()

Getattribute:

: Drawer mode

: Cover mode

: Fixed mode

int
getBottomMode()

Getattribute:

: Drawer mode

: Cover mode

: Fixed mode

int
getMask()

Getattribute:

: Not open

: Fixed color

: Gradual depth

int
getMainType()

Getattribute:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

int
getLeftType()

Getattribute:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

int
getTopType()

Getattribute:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

int
getRightType()

Getattribute:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

int
getBottomType()

Getattribute:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

int
getMainOpen()

Getattribute:

: Unshielded

: Click only

: Disable all touch events

int
getShrinkRange()

Getattribute

float
getDragDamping()

Getattribute

int
getDragRange()

Getattribute

int
getLeftDragRange()

GetattributeWarn:Minimum version required >= 1.5

int
getTopDragRange()

GetattributeWarn:Minimum version required >= 1.5

int
getRightDragRange()

GetattributeWarn:Minimum version required >= 1.5

int
getBottomDragRange()

GetattributeWarn:Minimum version required >= 1.5

int
getLeftOffset()

GetattributeWarn:Minimum version required >= 1.5

int
getTopOffset()

GetattributeWarn:Minimum version required >= 1.5

int
getRightOffset()

GetattributeWarn:Minimum version required >= 1.5

int
getBottomOffset()

GetattributeWarn:Minimum version required >= 1.5

int
getDragSlop()

GetattributeWarn:Minimum version required >= 1.1

int
getTurnCancel()

GetattributeWarn:Minimum version required >= 1.6

int
getMaxDragSize()

Getattribute

int
getDuration()

Getattribute

int
getLeftDragOpen()

Getattribute

boolean
getTopDragOpen()

Getattribute

boolean
getRightDragOpen()

Getattribute

boolean
getBottomDragOpen()

Getattribute

boolean
getShowLayout()

Getattribute

boolean
getAutoClose()

Getattribute

boolean
getMaskClose()

Getattribute

boolean
getMaskColor()

Getattribute

int
getScrollOuterDrag()

Getattribute

boolean
getAutoLayout()

GetattributeWarn:Minimum version required >= 1.4

boolean


Set attribute

Method name explain parameter
setMainScale(float scale)

Set main layout scale

scale:

setMainRotation(float rotation)

Set mani layout rotation

rotation:

setIntercept(boolean intercept)

Set manual interception of all directional touch events

intercept:

setIntercept(View view, boolean intercept)

Set manual interception of all directional touch events

view:

intercept:

setIntercept(int type, boolean intercept)

Set manual interception of all directional touch events

type:

: Left direction

: Top direction

: Right direction

: Bottom direction

intercept:

setMode(int type)

Setattribute
The status must be off for the setting to be valid

type:

: Drawer mode

: Cover mode

: Fixed mode

setLeftMode(int type)

Setattribute
The status must be off for the setting to be valid

type:

: Drawer mode

: Cover mode

: Fixed mode

setRightMode(int type)

Setattribute
The status must be off for the setting to be valid

type:

: Drawer mode

: Cover mode

: Fixed mode

setTopMode(int type)

Setattribute
The status must be off for the setting to be valid

type:

: Drawer mode

: Cover mode

: Fixed mode

setBottomMode(int type)

Setattribute
The status must be off for the setting to be valid

type:

: Drawer mode

: Cover mode

: Fixed mode

setMask(int type)

Setattribute

type:

: Not open

: Fixed color

: Gradual depth

setMainType(int type)

Setattribute

type:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

setLeftType(int type)

Setattribute

type:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

setTopType(int type)

Setattribute

type:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

setRightType(int type)

Setattribute

type:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

setBottomType(int type)

Setattribute

type:

: Non sliding layout

: Vertical sliding layout

: Horizontal sliding layout

setMainOpen(int type)

Setattribute

type:

: Unshielded

: Click only

: Disable all touch events

setMainLayout(int id)

Setattribute

id:

setMainLayout(View view)

Setattribute

view:

setLeftLayout(int id)

Setattribute

id:

setLeftLayout(View view)

Setattribute

view:

setTopLayout(int id)

Setattribute

id:

setTopLayout(View view)

Setattribute

view:

setRightLayout(int id)

Setattribute

id:

setRightLayout(View view)

Setattribute

view:

setBottomLayout(int id)

Setattribute

id:

setBottomLayout(View view)

Setattribute

view:

setMainScroll(int id)

Setattribute

id:

setMainScroll(View view)

Setattribute

view:

setLeftScroll(int id)

Setattribute

id:

setLeftScroll(View view)

Setattribute

view:

setTopScroll(int id)

Setattribute

id:

setTopScroll(View view)

Setattribute

view:

setRightScroll(int id)

Setattribute

id:

setRightScroll(View view)

Setattribute

view:

setBottomScroll(int id)

Setattribute

id:

setBottomScroll(View view)

Setattribute

view:

setParentDrawer(int id)

Setattribute

id:

setParentDrawer(SwipeDrawer view)

Setattribute

SwipeDrawer:

setShrinkRange(float num)

Setattribute

num:
: Can drag, But it will not turn on or off

setDragDamping(int num)

Setattribute

num: 0-9
: No dampingWarn:When version >= 1.5, the value range is 0-99, the larger the value, the faster the speed

setDragRange(int num)

Setattribute

num: px
: Full layout drag

setLeftDragRange(int num)

SetattributeWarn:Minimum version required >= 1.5

num: px
: Full layout drag

setTopDragRange(int num)

SetattributeWarn:Minimum version required >= 1.5

num: px
: Full layout drag

setRightDragRange(int num)

SetattributeWarn:Minimum version required >= 1.5

num: px
: Full layout drag

setBottomDragRange(int num)

SetattributeWarn:Minimum version required >= 1.5

num: px
: Full layout drag

setLeftOffset(int num)

SetattributeWarn:Minimum version required >= 1.5

num:px

setTopOffset(int num)

SetattributeWarn:Minimum version required >= 1.5

num:px

setRightOffset(int num)

SetattributeWarn:Minimum version required >= 1.5

num:px

setBottomOffset(int num)

SetattributeWarn:Minimum version required >= 1.5

num:px

setDragSlop(int num)

SetattributeWarn:Minimum version required >= 1.1

num:px

setTurnCancel(int num)

SetattributeWarn:Minimum version required >= 1.6

num:px

setMaxDragSize(int num)

Setattribute

num: px

setLeftDragOpen(boolean bool)

Setattribute

bool:

setTopDragOpen(boolean bool)

Setattribute

bool:

setRightDragOpen(boolean bool)

Setattribute

bool:

setBottomDragOpen(boolean bool)

Setattribute

bool:

setShowLayout(boolean bool)

Setattribute

bool:

setAutoClose(boolean bool)

Setattribute

bool:

setMaskClose(boolean bool)

Setattribute

bool:

setMaskColor(int color)

Setattribute

int:

setDragClose(boolean bool)

Setattribute

bool:

setScrollOuterDrag(boolean bool)

Setattribute

bool:

setAutoLayout(boolean bool)

SetattributeWarn:Minimum version required >= 1.4

bool:

setDuration(int ms)

Setattribute

ms: ms

setInterpolator(Interpolator interpolator)

Setattribute

interpolator:



Call Interface

Method name explain parameter
setOnDrawerState(OnDrawerState listener)

Listening start, move, start, close and cancel callback

listener:

setOnDrawerSwitch(OnDrawerSwitch listener)

Listening on / off callback

listener:

setOnDrawerChange(OnDrawerChange listener)

Monitor changes and return various statuses by parameters

listener:



Call method

Method name explain parameter
openDrawer(int type)

Open the specified direction

type:

: Left direction

: Top direction

: Right direction

: Bottom direction

openDrawer(int type, boolean anim)

Open the specified direction、 Animation settings

type:

: Left direction

: Top direction

: Right direction

: Bottom direction

anim: Turn on animation

openDrawer(int type,
      boolean anim,
      boolean call)

Open the specified direction、 Animation settings、 Callback settings

type:

: Left direction

: Top direction

: Right direction

: Bottom direction

anim: Turn on animation

call: Callback interface

closeDrawer()

close

-
closeDrawer(boolean anim)

Close, animation

anim: Turn on animation

closeDrawer(boolean anim, boolean call)

Close、 Animation settings、 callback settings

anim: Turn on animation

call: Callback interface

closeDrawer(int type)

Turn off the specified direction

type:

: Left direction

: Top direction

: Right direction

: Bottom direction

closeDrawer(int type, boolean anim)

Turn off the specified direction、 Animation settings

type:

: Left direction

: Top direction

: Right direction

: Bottom direction

anim: Turn on animation

closeDrawer(int type,
      boolean anim,
      boolean call)

Turn off the specified direction、 Animation settings、 callback settings

type:

: Left direction

: Top direction

: Right direction

: Bottom direction

anim: Turn on animation

call: Callback interface

toggleDrawer(int type)

Turns the specified direction on / off

type:

: Left direction

: Top direction

: Right direction

: Bottom direction

toggleDrawer(int type, boolean anim)

Turns the specified direction on / off、 Animation settings

type:

: Left direction

: Top direction

: Right direction

: Bottom direction

anim: Turn on animation

toggleDrawer(int type,
      boolean anim,
      boolean call)

Turns the specified direction on / off、 Animation settings、 callback settings

type:

: Left direction

: Top direction

: Right direction

: Bottom direction

anim: Turn on animation

call: Callback interface

setIntercept(boolean intercept)

Shield touch events in all directions

intercept:Whether touch is allowed

setIntercept(int type, boolean intercept)

Shield the touch event in the specified direction

type:

:Left direction

:Top direction

:Right direction

:Bottom direction

intercept:Whether touch is allowed

setIntercept(View view, boolean intercept)

Shield the touch event in the specified direction

view:Specify direction

intercept:Whether touch is allowed

drawerLayout()

Update Layout Manually,It needs to be done whenis closedWarn:Minimum version required >= 1.2

-


Static method

Method name explain Parameter / return
SwipeDrawer.setAllIntercept(boolean bool)

Set to mask all touch events

bool:

SwipeDrawer.getAllIntercept()

Get whether touch event is shielded

boolean

SwipeDrawer.getParentDrawer(View view)

Get the parent of view

SwipeDrawer