Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

DrawerLayout

public class DrawerLayout
extends ViewGroup implements Openable

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ androidx.drawerlayout.widget.DrawerLayout


DrawerLayout acts as a top-level container for window content that allows for interactive "drawer" views to be pulled out from one or both vertical edges of the window.

Drawer positioning and layout is controlled using the android:layout_gravity attribute on child views corresponding to which side of the view you want the drawer to emerge from: left or right (or start/end on platform versions that support layout direction.) Note that you can only have one drawer view for each vertical edge of the window. If your layout configures more than one drawer view per vertical edge of the window, an exception will be thrown at runtime.

To use a DrawerLayout, position your primary content view as the first child with width and height of match_parent and no layout_gravity>. Add drawers as child views after the main content view and set the layout_gravity appropriately. Drawers commonly use match_parent for height with a fixed width.

DrawerLayout.DrawerListener can be used to monitor the state and motion of drawer views. Avoid performing expensive operations such as layout during animation as it can cause stuttering; try to perform expensive operations during the STATE_IDLE state. DrawerLayout.SimpleDrawerListener offers default/no-op implementations of each callback method.

As per the Android Design guide, any drawers positioned to the left/start should always contain content for navigating around the application, whereas any drawers positioned to the right/end should always contain actions to take on the current content. This preserves the same navigation left, actions right structure present in the Action Bar and elsewhere.

For more information about how to use DrawerLayout, read Creating a Navigation Drawer.

Summary

Nested classes

interface DrawerLayout.DrawerListener

Listener for monitoring events about drawers. 

class DrawerLayout.LayoutParams

 

class DrawerLayout.SavedState

State persisted across instances  

class DrawerLayout.SimpleDrawerListener

Stub/no-op implementations of all methods of DrawerLayout.DrawerListener

Constants

int LOCK_MODE_LOCKED_CLOSED

The drawer is locked closed.

int LOCK_MODE_LOCKED_OPEN

The drawer is locked open.

int LOCK_MODE_UNDEFINED

The drawer's lock state is reset to default.

int LOCK_MODE_UNLOCKED

The drawer is unlocked.

int STATE_DRAGGING

Indicates that a drawer is currently being dragged by the user.

int STATE_IDLE

Indicates that any drawers are in an idle, settled state.

int STATE_SETTLING

Indicates that a drawer is in the process of settling to a final position.

Inherited constants

Inherited fields

Public constructors

DrawerLayout(Context context)
DrawerLayout(Context context, AttributeSet attrs)
DrawerLayout(Context context, AttributeSet attrs, int defStyleAttr)

Public methods

void addDrawerListener(DrawerLayout.DrawerListener listener)

Adds the specified listener to the list of listeners that will be notified of drawer events.

void addFocusables(ArrayList<View> views, int direction, int focusableMode)
void addView(View child, int index, ViewGroup.LayoutParams params)
void close()

Close the GravityCompat.START drawer by animating it out of view.

void closeDrawer(View drawerView)

Close the specified drawer view by animating it into view.

void closeDrawer(int gravity)

Close the specified drawer by animating it out of view.

void closeDrawer(View drawerView, boolean animate)

Close the specified drawer view.

void closeDrawer(int gravity, boolean animate)

Close the specified drawer.

void closeDrawers()

Close all currently open drawer views by animating them out of view.

void computeScroll()
boolean dispatchGenericMotionEvent(MotionEvent event)
ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs)
float getDrawerElevation()

The base elevation of the drawer(s) relative to the parent, in pixels.

int getDrawerLockMode(int edgeGravity)

Check the lock mode of the drawer with the given gravity.

int getDrawerLockMode(View drawerView)

Check the lock mode of the given drawer view.

CharSequence getDrawerTitle(int edgeGravity)

Returns the title of the drawer with the given gravity.

Drawable getStatusBarBackgroundDrawable()

Gets the drawable used to draw in the insets area for the status bar.

boolean isDrawerOpen(View drawer)

Check if the given drawer view is currently in an open state.

boolean isDrawerOpen(int drawerGravity)

Check if the given drawer view is currently in an open state.

boolean isDrawerVisible(View drawer)

Check if a given drawer view is currently visible on-screen.

boolean isDrawerVisible(int drawerGravity)

Check if a given drawer view is currently visible on-screen.

boolean isOpen()

Check if the GravityCompat.START drawer is currently in an open state.

void onDraw(Canvas c)
boolean onInterceptTouchEvent(MotionEvent ev)
boolean onKeyDown(int keyCode, KeyEvent event)
boolean onKeyUp(int keyCode, KeyEvent event)
void onRtlPropertiesChanged(int layoutDirection)
boolean onTouchEvent(MotionEvent ev)
void open()

Open the GravityCompat.START drawer by animating it into view.

void openDrawer(View drawerView, boolean animate)

Open the specified drawer view.

void openDrawer(View drawerView)

Open the specified drawer view by animating it into view.

void openDrawer(int gravity)

Open the specified drawer by animating it out of view.

void openDrawer(int gravity, boolean animate)

Open the specified drawer.

void removeDrawerListener(DrawerLayout.DrawerListener listener)

Removes the specified listener from the list of listeners that will be notified of drawer events.

void requestDisallowInterceptTouchEvent(boolean disallowIntercept)
void requestLayout()
void setDrawerElevation(float elevation)

Sets the base elevation of the drawer(s) relative to the parent, in pixels.

void setDrawerListener(DrawerLayout.DrawerListener listener)

This method is deprecated. Use addDrawerListener(DrawerListener)

void setDrawerLockMode(int lockMode, View drawerView)

Enable or disable interaction with the given drawer.

void setDrawerLockMode(int lockMode)

Enable or disable interaction with all drawers.

void setDrawerLockMode(int lockMode, int edgeGravity)

Enable or disable interaction with the given drawer.

void setDrawerShadow(int resId, int gravity)

Set a simple drawable used for the left or right shadow.

void setDrawerShadow(Drawable shadowDrawable, int gravity)

Set a simple drawable used for the left or right shadow.

void setDrawerTitle(int edgeGravity, CharSequence title)

Sets the title of the drawer with the given gravity.

void setScrimColor(int color)

Set a color to use for the scrim that obscures primary content while a drawer is open.

void setStatusBarBackground(Drawable bg)

Set a drawable to draw in the insets area for the status bar.

void setStatusBarBackground(int resId)

Set a drawable to draw in the insets area for the status bar.

void setStatusBarBackgroundColor(int color)

Set a drawable to draw in the insets area for the status bar.

Protected methods

boolean checkLayoutParams(ViewGroup.LayoutParams p)
boolean drawChild(Canvas canvas, View child, long drawingTime)
ViewGroup.LayoutParams generateDefaultLayoutParams()
ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p)
void onAttachedToWindow()
void onDetachedFromWindow()
void onLayout(boolean changed, int l, int t, int r, int b)
void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
void onRestoreInstanceState(Parcelable state)
Parcelable onSaveInstanceState()

Inherited methods