WearableDrawerView
open class WearableDrawerView : FrameLayout
kotlin.Any | ||||
↳ | android.view.View | |||
↳ | android.view.ViewGroup | |||
↳ | android.widget.FrameLayout | |||
↳ | androidx.wear.widget.drawer.WearableDrawerView |
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 Int |
Indicates that the drawer is currently being dragged by the user. |
static Int |
Indicates that the drawer is in an idle, settled state. |
static Int |
Indicates that the drawer is in the process of settling to a final position. |
Public constructors |
|
---|---|
<init>(context: Context!, attrs: AttributeSet!) |
|
<init>(context: Context!, attrs: AttributeSet!, defStyleAttr: Int) |
|
<init>(context: Context!, attrs: AttributeSet!, defStyleAttr: Int, defStyleRes: Int) |
Public methods |
|
---|---|
open Unit |
addView(child: View!, index: Int, params: LayoutParams!) |
open WearableDrawerController! |
Returns the |
open View? |
Returns the drawer content view. |
open Int |
Returns the current drawer state, which will be one of |
open Boolean |
Returns true if this drawer has auto-peeking enabled. |
open Boolean |
isClosed() Returns true if the drawer is fully closed. |
open Boolean |
isLocked() Returns true if the position of the drawer cannot be modified by user interaction. |
open Boolean |
Returns true if this drawer should be locked when the user cannot see it. |
open Boolean |
Returns whether this drawer may only be opened by the user when at the top of the scrolling content. |
open Boolean |
isOpened() Returns true if the drawer is fully open. |
open Boolean |
Gets whether or not this drawer should peek while scrolling down. |
open Boolean |
Returns whether the drawer is either peeking or the peek view is animating open. |
open Unit |
Called when the drawer has settled in a completely closed state. |
open Unit |
Called when the drawer has settled in a completely open state. |
open Unit |
onDrawerStateChanged(state: Int) Called when the drawer state changes. |
open Unit |
Called when anything within the peek container is clicked. |
open Unit |
setDrawerContent(@Nullable content: View?) Set the drawer content view. |
open Unit |
setIsAutoPeekEnabled(canAutoPeek: Boolean) Sets whether or not the drawer can automatically adjust its peek state. |
open Unit |
setIsLocked(locked: Boolean) Sets whether or not the position of the drawer can be modified by user interaction. |
open Unit |
setLockedWhenClosed(locked: Boolean) Sets whether this drawer should be locked when the user cannot see it. |
open Unit |
setOpenOnlyAtTopEnabled(openOnlyAtTop: Boolean) Only allow the user to open this drawer when at the top of the scrolling content. |
open Unit |
setPeekContent(content: View!) Set the peek content view. |
open Unit |
setPeekOnScrollDownEnabled(peekOnScrollDown: Boolean) Sets whether or not this drawer should peek while scrolling down. |
Protected methods |
|
---|---|
open Unit | |
open Unit |
Constants
STATE_DRAGGING
static val STATE_DRAGGING: Int
Indicates that the drawer is currently being dragged by the user.
Value: ViewDragHelper.STATE_DRAGGING
STATE_IDLE
static val STATE_IDLE: Int
Indicates that the drawer is in an idle, settled state. No animation is in progress.
Value: ViewDragHelper.STATE_IDLE
STATE_SETTLING
static val STATE_SETTLING: Int
Indicates that the drawer is in the process of settling to a final position.
Value: ViewDragHelper.STATE_SETTLING
Public constructors
<init>
WearableDrawerView(context: Context!)
<init>
WearableDrawerView(context: Context!, attrs: AttributeSet!)
<init>
WearableDrawerView(context: Context!, attrs: AttributeSet!, defStyleAttr: Int)
<init>
WearableDrawerView(context: Context!, attrs: AttributeSet!, defStyleAttr: Int, defStyleRes: Int)
Public methods
addView
open fun addView(child: View!, index: Int, params: LayoutParams!): Unit
getController
open fun getController(): WearableDrawerController!
Returns the WearableDrawerController
associated with this WearableDrawerView
. This will only be valid after this View
has been added to its parent.
getDrawerState
open fun getDrawerState(): Int
Returns the current drawer state, which will be one of STATE_DRAGGING
,
, or STATE_IDLE
isAutoPeekEnabled
open fun isAutoPeekEnabled(): Boolean
Returns true if this drawer has auto-peeking enabled. This will always return false
for a locked drawer.
isLocked
open fun isLocked(): Boolean
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 . 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
open fun isLockedWhenClosed(): Boolean
Returns true if this drawer should be locked when the user cannot see it.
See Also
isOpenOnlyAtTopEnabled
open fun isOpenOnlyAtTopEnabled(): Boolean
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
open fun isPeekOnScrollDownEnabled(): Boolean
Gets whether or not this drawer should peek while scrolling down. This is currently only supported for bottom drawers. Defaults to false
.
isPeeking
open fun isPeeking(): Boolean
Returns whether the drawer is either peeking or the peek view is animating open.
onDrawerClosed
open fun onDrawerClosed(): Unit
Called when the drawer has settled in a completely closed state. This is analogous to
.
onDrawerOpened
open fun onDrawerOpened(): Unit
Called when the drawer has settled in a completely open state. The drawer is interactive at this point. This is analogous to
.
onDrawerStateChanged
open fun onDrawerStateChanged(state: Int): Unit
Called when the drawer state changes. This is analogous to
.
Parameters | |
---|---|
state |
Int: one of STATE_DRAGGING , STATE_SETTLING , or STATE_IDLE |
onPeekContainerClicked
open fun onPeekContainerClicked(v: View!): Unit
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
open fun setDrawerContent(@Nullable content: View?): Unit
Set the drawer content view.
Parameters | |
---|---|
content |
View?: The view to show when the drawer is open, or null if it should not open. |
setIsAutoPeekEnabled
open fun setIsAutoPeekEnabled(canAutoPeek: Boolean): Unit
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
open fun setIsLocked(locked: Boolean): Unit
Sets whether or not the position of the drawer can be modified by user interaction.
See Also
setLockedWhenClosed
open fun setLockedWhenClosed(locked: Boolean): Unit
Sets whether this drawer should be locked when the user cannot see it.
See Also
setOpenOnlyAtTopEnabled
open fun setOpenOnlyAtTopEnabled(openOnlyAtTop: Boolean): Unit
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
open fun setPeekContent(content: View!): Unit
Set the peek content view.
Parameters | |
---|---|
content |
View!: The view to show when the drawer peeks. |
setPeekOnScrollDownEnabled
open fun setPeekOnScrollDownEnabled(peekOnScrollDown: Boolean): Unit
Sets whether or not this drawer should peek while scrolling down. This is currently only supported for bottom drawers. Defaults to false
.
Protected methods
onAttachedToWindow
protected open fun onAttachedToWindow(): Unit
onFinishInflate
protected open fun onFinishInflate(): Unit