WearableDrawerView

public class WearableDrawerView

Known direct subclasses
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 {@code setter} methods on the {@code WearableDrawerView}, or by specifying the {@code app:drawerContent} and {@code * 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 @NonNull int

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

static final @NonNull int

Indicates that the drawer is in an idle, settled state.

static final @NonNull int

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

Public constructors

WearableDrawerView(
    @NonNull Context context,
    @NonNull AttributeSet attrs,
    @NonNull int defStyleAttr
)
WearableDrawerView(
    @NonNull Context context,
    @NonNull AttributeSet attrs,
    @NonNull int defStyleAttr,
    @NonNull int defStyleRes
)

Public methods

@Override @NonNull void
addView(
    @NonNull View child,
    @NonNull int index,
    @NonNull ViewGroup.LayoutParams params
)
@NonNull WearableDrawerController

Returns the WearableDrawerController associated with this WearableDrawerView.

@Nullable View

Returns the drawer content view.

@WearableDrawerView.DrawerState @NonNull int

Returns the current drawer state, which will be one of STATE_DRAGGING, , or STATE_IDLE

@NonNull boolean

Returns true if this drawer has auto-peeking enabled.

@NonNull boolean

Returns true if the drawer is fully closed.

@NonNull boolean

Returns true if the position of the drawer cannot be modified by user interaction.

@NonNull boolean

Returns true if this drawer should be locked when the user cannot see it.

@NonNull boolean

Returns whether this drawer may only be opened by the user when at the top of the scrolling content.

@NonNull boolean

Returns true if the drawer is fully open.

@NonNull boolean

Gets whether or not this drawer should peek while scrolling down.

@NonNull boolean

Returns whether the drawer is either peeking or the peek view is animating open.

@NonNull void

Called when the drawer has settled in a completely closed state.

@NonNull void

Called when the drawer has settled in a completely open state.

@NonNull void

Called when the drawer state changes.

@NonNull void

Called when anything within the peek container is clicked.

@NonNull void

Set the drawer content view.

@NonNull void
setIsAutoPeekEnabled(@NonNull boolean canAutoPeek)

Sets whether or not the drawer can automatically adjust its peek state.

@NonNull void
setIsLocked(@NonNull boolean locked)

Sets whether or not the position of the drawer can be modified by user interaction.

@NonNull void
setLockedWhenClosed(@NonNull boolean locked)

Sets whether this drawer should be locked when the user cannot see it.

@NonNull void
setOpenOnlyAtTopEnabled(@NonNull boolean openOnlyAtTop)

Only allow the user to open this drawer when at the top of the scrolling content.

@NonNull void

Set the peek content view.

@NonNull void
setPeekOnScrollDownEnabled(@NonNull boolean peekOnScrollDown)

Sets whether or not this drawer should peek while scrolling down.

Inherited methods

From class FrameLayout
From class View
@NonNull void
@NonNull void
@NonNull void
@NonNull ViewPropertyAnimator
@NonNull void
@NonNull void
@NonNull void
@NonNull void

This method is deprecated.

@NonNull void
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
@NonNull boolean
canScrollVertically(@NonNull int direction)
final @NonNull void
@NonNull void
final @NonNull void
@NonNull boolean
@NonNull void
@NonNull void
static @NonNull int
combineMeasuredStates(@NonNull int curState, @NonNull int newState)
@NonNull void
@NonNull WindowInsets
computeSystemWindowInsets(
    @NonNull WindowInsets in,
    @NonNull Rect outLocalInsets
)
@NonNull AccessibilityNodeInfo
@NonNull void
@NonNull void

This method is deprecated.

@NonNull boolean
@NonNull boolean
dispatchNestedFling(
    @NonNull float velocityX,
    @NonNull float velocityY,
    @NonNull boolean consumed
)
@NonNull boolean
dispatchNestedPreFling(@NonNull float velocityX, @NonNull float velocityY)
@NonNull boolean
dispatchNestedPrePerformAccessibilityAction(
    @NonNull int action,
    @NonNull Bundle arguments
)
@NonNull boolean
dispatchNestedPreScroll(
    @NonNull int dx,
    @NonNull int dy,
    @NonNull Array<@NonNull int> consumed,
    @NonNull Array<@NonNull int> offsetInWindow
)
@NonNull boolean
dispatchNestedScroll(
    @NonNull int dxConsumed,
    @NonNull int dyConsumed,
    @NonNull int dxUnconsumed,
    @NonNull int dyUnconsumed,
    @NonNull Array<@NonNull int> offsetInWindow
)
@NonNull boolean
@NonNull void
draw(@NonNull Canvas canvas)
@NonNull void
drawableHotspotChanged(@NonNull float x, @NonNull float y)
final @NonNull T
<T extends View> findViewById(@NonNull int id)
final @NonNull T
<T extends View> findViewWithTag(@NonNull Object tag)
@NonNull void<