WearableDrawerView
public class WearableDrawerView extends FrameLayout
| java.lang.Object | ||||
| ↳ | android.view.View | |||
| ↳ | android.view.ViewGroup | |||
| ↳ | android.widget.FrameLayout | |||
| ↳ | androidx.wear.widget.drawer.WearableDrawerView |
WearableActionDrawerView |
Ease of use class for creating a Wearable action drawer. |
WearableNavigationDrawerView |
Ease of use class for creating a Wearable navigation drawer. |
View that contains drawer content and a peeking view for use with WearableDrawerLayout.
This view provides the ability to set its main content as well as a view shown while peeking. Specifying the peek view is entirely optional; a default is used if none are set. However, the content must be provided.
There are two ways to specify the content and peek views: by invoking setter methods on the WearableDrawerView, or by specifying the app:drawerContent and
app:peekView attributes. Examples:
// From Java: drawerView.setDrawerContent(drawerContentView); drawerView.setPeekContent(peekContentView); <!-- From XML: --> <androidx.wear.widget.drawer.WearableDrawerView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="bottom" android:background="@color/red" app:drawerContent="@+id/drawer_content" app:peekView="@+id/peek_view"> <FrameLayout android:id="@id/drawer_content" android:layout_width="match_parent" android:layout_height="match_parent" /> <LinearLayout android:id="@id/peek_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:orientation="horizontal"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/ic_media_play" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/ic_media_pause" /> </LinearLayout> </androidx.wear.widget.drawer.WearableDrawerView>
Summary
Constants |
|
|---|---|
static final int |
STATE_DRAGGING = 1Indicates that the drawer is currently being dragged by the user. |
static final int |
STATE_IDLE = 0Indicates that the drawer is in an idle, settled state. |
static final int |
STATE_SETTLING = 2Indicates that the drawer is in the process of settling to a final position. |
Public constructors |
|---|
WearableDrawerView(Context context) |
WearableDrawerView(Context context, AttributeSet attrs) |
WearableDrawerView( |
WearableDrawerView( |
Public methods |
|
|---|---|
void |
addView(View child, int index, ViewGroup.LayoutParams params) |
WearableDrawerController |
Returns the |
@Nullable View |
Returns the drawer content view. |
int |
Returns the current drawer state, which will be one of |
boolean |
Returns true if this drawer has auto-peeking enabled. |
boolean |
isClosed()Returns true if the drawer is fully closed. |
boolean |
isLocked()Returns true if the position of the drawer cannot be modified by user interaction. |
boolean |
Returns true if this drawer should be locked when the user cannot see it. |
boolean |
Returns whether this drawer may only be opened by the user when at the top of the scrolling content. |
boolean |
isOpened()Returns true if the drawer is fully open. |
boolean |
Gets whether or not this drawer should peek while scrolling down. |
boolean |
Returns whether the drawer is either peeking or the peek view is animating open. |
void |
Called when the drawer has settled in a completely closed state. |
void |
Called when the drawer has settled in a completely open state. |
void |
onDrawerStateChanged(int state)Called when the drawer state changes. |
void |
Called when anything within the peek container is clicked. |
void |
setDrawerContent(@Nullable View content)Set the drawer content view. |
void |
setIsAutoPeekEnabled(boolean canAutoPeek)Sets whether or not the drawer can automatically adjust its peek state. |
void |
setIsLocked(boolean locked)Sets whether or not the position of the drawer can be modified by user interaction. |
void |
setLockedWhenClosed(boolean locked)Sets whether this drawer should be locked when the user cannot see it. |
void |
setOpenOnlyAtTopEnabled(boolean openOnlyAtTop)Only allow the user to open this drawer when at the top of the scrolling content. |
void |
setPeekContent(View content)Set the peek content view. |
void |
setPeekOnScrollDownEnabled(boolean peekOnScrollDown)Sets whether or not this drawer should peek while scrolling down. |
Protected methods |
|
|---|---|
void |
|
void |
Inherited Constants |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Inherited methods |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Constants
STATE_DRAGGING
public static final int STATE_DRAGGING = 1
Indicates that the drawer is currently being dragged by the user.
STATE_IDLE
public static final int STATE_IDLE = 0
Indicates that the drawer is in an idle, settled state. No animation is in progress.
STATE_SETTLING
public static final int STATE_SETTLING = 2
Indicates that the drawer is in the process of settling to a final position.
Public constructors
WearableDrawerView
public WearableDrawerView(
Context context,
AttributeSet attrs,
int defStyleAttr
)
WearableDrawerView
public WearableDrawerView(
Context context,
AttributeSet attrs,
int defStyleAttr,
int defStyleRes
)
Public methods
getController
public WearableDrawerController getController()
Returns the WearableDrawerController associated with this WearableDrawerView. This will only be valid after this View has been added to its parent.
getDrawerContent
public @Nullable View getDrawerContent()
Returns the drawer content view.
getDrawerState
public int getDrawerState()
Returns the current drawer state, which will be one of STATE_DRAGGING, STATE_SETTLING, or STATE_IDLE
isAutoPeekEnabled
public boolean isAutoPeekEnabled()
Returns true if this drawer has auto-peeking enabled. This will always return false for a locked drawer.
isLocked
public boolean isLocked()
Returns true if the position of the drawer cannot be modified by user interaction. Specifically, a drawer cannot be opened, closed, or automatically peeked by WearableDrawerLayout. However, it can be explicitly opened, closed, and peeked by the developer. A drawer may be considered locked if the drawer is locked open, locked closed, or is closed and isLockedWhenClosed returns true.
isLockedWhenClosed
public boolean isLockedWhenClosed()
Returns true if this drawer should be locked when the user cannot see it.
| See also | |
|---|---|
isLocked |
isOpenOnlyAtTopEnabled
public boolean isOpenOnlyAtTopEnabled()
Returns whether this drawer may only be opened by the user when at the top of the scrolling content. If there is no scrolling content, then this has no effect. Defaults to
false.
isPeekOnScrollDownEnabled
public boolean isPeekOnScrollDownEnabled()
Gets whether or not this drawer should peek while scrolling down. This is currently only supported for bottom drawers. Defaults to false.
isPeeking
public boolean isPeeking()
Returns whether the drawer is either peeking or the peek view is animating open.
onDrawerClosed
public void onDrawerClosed()
Called when the drawer has settled in a completely closed state. This is analogous to onDrawerClosed.
onDrawerOpened
public void onDrawerOpened()
Called when the drawer has settled in a completely open state. The drawer is interactive at this point. This is analogous to onDrawerOpened.
onDrawerStateChanged
public void onDrawerStateChanged(int state)
Called when the drawer state changes. This is analogous to onDrawerStateChanged.
| Parameters | |
|---|---|
int state |
one of |
onPeekContainerClicked
public void onPeekContainerClicked(View v)
Called when anything within the peek container is clicked. However, if a custom peek view is supplied and it handles the click, then this may not be called. The default behavior is to open the drawer.
setDrawerContent
public void setDrawerContent(@Nullable View content)
Set the drawer content view.
setIsAutoPeekEnabled
public void setIsAutoPeekEnabled(boolean canAutoPeek)
Sets whether or not the drawer can automatically adjust its peek state. Note that locked drawers will never auto-peek, but their isAutoPeekEnabled state will be maintained through a lock/unlock cycle.
setIsLocked
public void setIsLocked(boolean locked)
Sets whether or not the position of the drawer can be modified by user interaction.
| See also | |
|---|---|
isLocked |
setLockedWhenClosed
public void setLockedWhenClosed(boolean locked)
Sets whether this drawer should be locked when the user cannot see it.
| See also | |
|---|---|
isLocked |
setOpenOnlyAtTopEnabled
public void setOpenOnlyAtTopEnabled(boolean openOnlyAtTop)
Only allow the user to open this drawer when at the top of the scrolling content. If there is no scrolling content, then this has no effect. Defaults to false.
setPeekContent
public void setPeekContent(View content)
Set the peek content view.
| Parameters | |
|---|---|
View content |
The view to show when the drawer peeks. |
setPeekOnScrollDownEnabled
public void setPeekOnScrollDownEnabled(boolean peekOnScrollDown)
Sets whether or not this drawer should peek while scrolling down. This is currently only supported for bottom drawers. Defaults to false.