lightbulb_outline Please take our October 2018 developer survey. Start survey
added in version 26.1.0
belongs to Maven artifact com.android.support:wear:28.0.0-alpha1

WearableDrawerLayout

public class WearableDrawerLayout
extends FrameLayout implements View.OnLayoutChangeListener, NestedScrollingParent

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.FrameLayout
         ↳ android.support.wear.widget.drawer.WearableDrawerLayout


Top-level container that allows interactive drawers to be pulled from the top and bottom edge of the window. For WearableDrawerLayout to work properly, scrolling children must send nested scrolling events. Views that implement NestedScrollingChild do this by default. To enable nested scrolling on frameworks views like ListView, set android:nestedScrollingEnabled="true" on the view in the layout file, or call setNestedScrollingEnabled(boolean) in code. This includes the main content in a WearableDrawerLayout, as well as the content inside of the drawers.

To use WearableDrawerLayout with WearableActionDrawerView or WearableNavigationDrawerView, place either drawer in a WearableDrawerLayout.

 <android.support.wear.widget.drawer.WearableDrawerLayout [...]>
     <FrameLayout android:id=”@+id/content” />

     <android.support.wear.widget.drawer.WearableNavigationDrawerView
         android:layout_width=”match_parent”
         android:layout_height=”match_parent” />

     <android.support.wear.widget.drawer.WearableActionDrawerView
         android:layout_width=”match_parent”
         android:layout_height=”match_parent” />

 </android.support.wear.widget.drawer.WearableDrawerLayout>

To use custom content in a drawer, place WearableDrawerView in a WearableDrawerLayout and specify the layout_gravity to pick the drawer location (the following example is for a top drawer). Note: You must either call setDrawerContent(View) and pass in your drawer content view, or specify it in the app:drawerContent XML attribute.

 <android.support.wear.widget.drawer.WearableDrawerLayout [...]>
     <FrameLayout
         android:id=”@+id/content”
         android:layout_width=”match_parent”
         android:layout_height=”match_parent” />

     <android.support.wear.widget.drawer.WearableDrawerView
         android:layout_width=”match_parent”
         android:layout_height=”match_parent”
         android:layout_gravity=”top”
         app:drawerContent="@+id/top_drawer_content" >

         <FrameLayout
             android:id=”@id/top_drawer_content”
             android:layout_width=”match_parent”
             android:layout_height=”match_parent” />

     </android.support.wear.widget.drawer.WearableDrawerView>
 </android.support.wear.widget.drawer.WearableDrawerLayout>

Summary

Nested classes

class WearableDrawerLayout.DrawerStateCallback

Listener for monitoring events about drawers. 

Inherited constants

From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public constructors

WearableDrawerLayout(Context context)
WearableDrawerLayout(Context context, AttributeSet attrs)
WearableDrawerLayout(Context context, AttributeSet attrs, int defStyleAttr)
WearableDrawerLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

Public methods

void addView(View child, int index, ViewGroup.LayoutParams params)
void computeScroll()
int getNestedScrollAxes()
WindowInsets onApplyWindowInsets(WindowInsets insets)
void onFlingComplete(View view)
boolean onInterceptTouchEvent(MotionEvent ev)
void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom)
boolean onNestedFling(View target, float velocityX, float velocityY, boolean consumed)
boolean onNestedPreFling(View target, float velocityX, float velocityY)
void onNestedPreScroll(View target, int dx, int dy, int[] consumed)
void onNestedScroll(View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed)
void onNestedScrollAccepted(View child, View target, int nestedScrollAxes)
boolean onStartNestedScroll(View child, View target, int nestedScrollAxes)
void onStopNestedScroll(View target)
boolean onTouchEvent(MotionEvent ev)
void setDrawerStateCallback(WearableDrawerLayout.DrawerStateCallback callback)

Sets a listener to be notified of drawer events.

Protected methods

void onLayout(boolean changed, int left, int top, int right, int bottom)

Inherited methods

From class android.widget.FrameLayout
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource
From interface android.view.View.OnLayoutChangeListener
From interface android.support.v4.view.NestedScrollingParent

Public constructors

WearableDrawerLayout

added in version 26.1.0
WearableDrawerLayout (Context context)

Parameters
context Context

WearableDrawerLayout

added in version 26.1.0
WearableDrawerLayout (Context context, 
                AttributeSet attrs)

Parameters
context Context

attrs AttributeSet

WearableDrawerLayout

added in version 26.1.0
WearableDrawerLayout (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context

attrs AttributeSet

defStyleAttr int

WearableDrawerLayout

added in version 26.1.0
WearableDrawerLayout (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int defStyleRes)

Parameters
context Context

attrs AttributeSet

defStyleAttr int

defStyleRes int

Public methods

addView

void addView (View child, 
                int index, 
                ViewGroup.LayoutParams params)

Parameters
child View

index int

params ViewGroup.LayoutParams

computeScroll

void computeScroll ()

getNestedScrollAxes

int getNestedScrollAxes ()

Returns
int

onApplyWindowInsets

WindowInsets onApplyWindowInsets (WindowInsets insets)

Parameters
insets WindowInsets

Returns
WindowInsets

onFlingComplete

added in version 26.1.0
void onFlingComplete (View view)

Parameters
view View

onInterceptTouchEvent

boolean onInterceptTouchEvent (MotionEvent ev)

Parameters
ev MotionEvent

Returns
boolean

onLayoutChange

added in version 26.1.0
void onLayoutChange (View v, 
                int left, 
                int top, 
                int right, 
                int bottom, 
                int oldLeft, 
                int oldTop, 
                int oldRight, 
                int oldBottom)

Parameters
v View

left int

top int

right int

bottom int

oldLeft int

oldTop int

oldRight int

oldBottom int

onNestedFling

boolean onNestedFling (View target, 
                float velocityX, 
                float velocityY, 
                boolean consumed)

Parameters
target View

velocityX float

velocityY float

consumed boolean

Returns
boolean

onNestedPreFling

boolean onNestedPreFling (View target, 
                float velocityX, 
                float velocityY)

Parameters
target View

velocityX float

velocityY float

Returns
boolean

onNestedPreScroll

void onNestedPreScroll (View target, 
                int dx, 
                int dy, 
                int[] consumed)

Parameters
target View

dx int

dy int

consumed int

onNestedScroll

void onNestedScroll (View target, 
                int dxConsumed, 
                int dyConsumed, 
                int dxUnconsumed, 
                int dyUnconsumed)

Parameters
target View

dxConsumed int

dyConsumed int

dxUnconsumed int

dyUnconsumed int

onNestedScrollAccepted

void onNestedScrollAccepted (View child, 
                View target, 
                int nestedScrollAxes)

Parameters
child View

target View

nestedScrollAxes int

onStartNestedScroll

boolean onStartNestedScroll (View child, 
                View target, 
                int nestedScrollAxes)

Parameters
child View

target View

nestedScrollAxes int

Returns
boolean

onStopNestedScroll

void onStopNestedScroll (View target)

Parameters
target View

onTouchEvent

boolean onTouchEvent (MotionEvent ev)

Parameters
ev MotionEvent

Returns
boolean

setDrawerStateCallback

added in version 26.1.0
void setDrawerStateCallback (WearableDrawerLayout.DrawerStateCallback callback)

Sets a listener to be notified of drawer events.

Parameters
callback WearableDrawerLayout.DrawerStateCallback

Protected methods

onLayout

void onLayout (boolean changed, 
                int left, 
                int top, 
                int right, 
                int bottom)

Parameters
changed boolean

left int

top int

right int

bottom int