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 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 @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, STATE_SETTLING, 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 w