GuidedActionsStylist
public
class
GuidedActionsStylist
extends Object
implements
FragmentAnimationProvider
java.lang.Object | |
↳ | androidx.leanback.widget.GuidedActionsStylist |
GuidedActionsStylist is used within a GuidedStepFragment
to supply the right-side panel where users can take actions. It consists of a container for the
list of actions, and a stationary selector view that indicates visually the location of focus.
GuidedActionsStylist has two different layouts: default is for normal actions including text,
radio, checkbox, DatePicker, etc, the other when setAsButtonActions()
is called is
recommended for button actions such as "yes", "no".
Many aspects of the base GuidedActionsStylist can be customized through theming; see the theme attributes below. Note that these attributes are not set on individual elements in layout XML, but instead would be set in a custom theme. See Styles and Themes for more information.
If these hooks are insufficient, this class may also be subclassed. Subclasses may wish to
override the onProvideLayoutId()
method to change the layout used to display the
list container and selector; override onProvideItemLayoutId(int)
and
getItemViewType(GuidedAction)
method to change the layout used to display each action.
To support a "click to activate" view similar to DatePicker, app needs:
onProvideItemLayoutId(int)
and getItemViewType(GuidedAction)
,
provides a layout id for the action.
View.setActivated(boolean)
.
onBindActivatorView(ViewHolder, GuidedAction)
to populate values into View.
onUpdateActivatorView(ViewHolder, GuidedAction)
to update action.
Note: If an alternate list layout is provided, the following view IDs must be supplied:
These view IDs must be present in order for the stylist to function. The list ID must correspond
to a VerticalGridView
or subclass.
If an alternate item layout is provided, the following view IDs should be used to refer to base elements:
R.id.guidedactions_item_content
R.id.guidedactions_item_title
R.id.guidedactions_item_description
R.id.guidedactions_item_icon
R.id.guidedactions_item_checkmark
R.id.guidedactions_item_chevron
These view IDs are allowed to be missing, in which case the corresponding views in GuidedActionsStylist.ViewHolder
will be null.
In order to support editable actions, the view associated with guidedactions_item_title should
be a subclass of EditText
, and should satisfy the ImeKeyMonitor
interface and GuidedActionAutofillSupport
interface.
R.attr.guidedStepImeAppearingAnimation
R.attr.guidedStepImeDisappearingAnimation
R.attr.guidedActionsSelectorDrawable
R.attr.guidedActionsListStyle
R.attr.guidedSubActionsListStyle
R.attr.guidedButtonActionsListStyle
R.attr.guidedActionItemContainerStyle
R.attr.guidedActionItemCheckmarkStyle
R.attr.guidedActionItemIconStyle
R.attr.guidedActionItemContentStyle
R.attr.guidedActionItemTitleStyle
R.attr.guidedActionItemDescriptionStyle
R.attr.guidedActionItemChevronStyle
R.attr.guidedActionPressedAnimation
R.attr.guidedActionUnpressedAnimation
R.attr.guidedActionEnabledChevronAlpha
R.attr.guidedActionDisabledChevronAlpha
R.attr.guidedActionTitleMinLines
R.attr.guidedActionTitleMaxLines
R.attr.guidedActionDescriptionMinLines
R.attr.guidedActionVerticalPadding
See also:
Summary
Nested classes | |
---|---|
class |
GuidedActionsStylist.ViewHolder
ViewHolder caches information about the action item layouts' subviews. |
Constants | |
---|---|
int |
VIEW_TYPE_DATE_PICKER
ViewType for DatePicker. |
int |
VIEW_TYPE_DEFAULT
Default viewType that associated with default layout Id for the action item. |
Public constructors | |
---|---|
GuidedActionsStylist()
|
Public methods | |
---|---|
void
|
collapseAction(boolean withTransition)
Collapse expanded action. |
void
|
expandAction(GuidedAction action, boolean withTransition)
Expand an action. |
VerticalGridView
|
getActionsGridView()
Returns the VerticalGridView that displays the list of GuidedActions. |
GuidedAction
|
getExpandedAction()
|
int
|
getItemViewType(GuidedAction action)
Return view type of action, each different type can have differently associated layout Id. |
VerticalGridView
|
getSubActionsGridView()
Returns the VerticalGridView that displays the sub actions list of an expanded action. |
final
boolean
|
isBackKeyToCollapseActivatorView()
|
final
boolean
|
isBackKeyToCollapseSubActions()
|
boolean
|
isButtonActions()
Returns true if it is button actions list, false for normal actions list. |
boolean
|
isExpandTransitionSupported()
Returns if expand/collapse animation is supported. |
boolean
|
isExpanded()
|
boolean
|
isInExpandTransition()
Returns true if it is running an expanding or collapsing transition, false otherwise. |
boolean
|
isSubActionsExpanded()
|
void
|
onAnimateItemChecked(GuidedActionsStylist.ViewHolder vh, boolean checked)
Animates the view holder's view (or subviews thereof) when the action has had its check state changed. |
void
|
onAnimateItemFocused(GuidedActionsStylist.ViewHolder vh, boolean focused)
Animates the view holder's view (or subviews thereof) when the action has had its focus state changed. |
void
|
onAnimateItemPressed(GuidedActionsStylist.ViewHolder vh, boolean pressed)
Animates the view holder's view (or subviews thereof) when the action has had its press state changed. |
void
|
onAnimateItemPressedCancelled(GuidedActionsStylist.ViewHolder vh)
Resets the view holder's view to unpressed state. |
void
|
onBindActivatorView(GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Performs binding activator view value to action. |
void
|
onBindCheckMarkView(GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Sets states of check mark view, called by |
void
|
onBindChevronView(GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Sets states of chevron view, called by |
void
|
onBindViewHolder(GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Binds a |
View
|
onCreateView(LayoutInflater inflater, ViewGroup container)
Creates a view appropriate for displaying a list of GuidedActions, using the provided inflater and container. |
GuidedActionsStylist.ViewHolder
|
onCreateViewHolder(ViewGroup parent, int viewType)
Constructs a |
GuidedActionsStylist.ViewHolder
|
onCreateViewHolder(ViewGroup parent)
Constructs a |
void
|
onDestroyView()
Called when destroy the View created by GuidedActionsStylist. |
void
|
onImeAppearing(List<Animator> animators)
Animates the fragment in response to the IME appearing. |
void
|
onImeDisappearing(List<Animator> animators)
Animates the fragment in response to the IME disappearing. |
int
|
onProvideItemLayoutId()
Provides the resource ID of the layout defining the view for an individual guided actions. |
int
|
onProvideItemLayoutId(int viewType)
Provides the resource ID of the layout defining the view for an individual guided actions. |
int
|
onProvideLayoutId()
Provides the resource ID of the layout defining the host view for the list of guided actions. |
boolean
|
onUpdateActivatorView(GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Performs updating GuidedAction from activator view. |
void
|
onUpdateExpandedViewHolder(GuidedActionsStylist.ViewHolder avh)
Expand or collapse GuidedActionStylist. |
void
|
openInEditMode(GuidedAction action)
Switches action to edit mode and pops up the keyboard. |
void
|
setAsButtonActions()
Choose the layout resource for button actions in |
final
void
|
setBackKeyToCollapseActivatorView(boolean backToCollapse)
Enable or disable using BACK key to collapse |
final
void
|
setBackKeyToCollapseSubActions(boolean backToCollapse)
Enable or disable using BACK key to collapse sub actions list. |
void
|
setEditingMode(GuidedActionsStylist.ViewHolder vh, GuidedAction action, boolean editing)
This method is deprecated. This method is for internal library use only and should not be called directly. |
void
|
setExpandedViewHolder(GuidedActionsStylist.ViewHolder avh)
This method is deprecated.
use |
void
|
startExpandedTransition(GuidedActionsStylist.ViewHolder avh)
This method is deprecated.
use |
Protected methods | |
---|---|
void
|
onEditingModeChange(GuidedActionsStylist.ViewHolder vh, boolean editing, boolean withTransition)
Called when editing mode of an ViewHolder is changed. |
void
|
onEditingModeChange(GuidedActionsStylist.ViewHolder vh, GuidedAction action, boolean editing)
This method is deprecated.
Use |
void
|
setupImeOptions(GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Called by |
Inherited methods | |
---|---|
Constants
VIEW_TYPE_DATE_PICKER
public static final int VIEW_TYPE_DATE_PICKER
ViewType for DatePicker.
Constant Value: 1 (0x00000001)
VIEW_TYPE_DEFAULT
public static final int VIEW_TYPE_DEFAULT
Default viewType that associated with default layout Id for the action item.
Constant Value: 0 (0x00000000)
Public constructors
GuidedActionsStylist
public GuidedActionsStylist ()
Public methods
collapseAction
public void collapseAction (boolean withTransition)
Collapse expanded action. Do nothing if it is in animation or there is no action expanded.
Parameters | |
---|---|
withTransition |
boolean : True to run transition animation, false otherwsie.
|
expandAction
public void expandAction (GuidedAction action, boolean withTransition)
Expand an action. Do nothing if it is in animation or there is action expanded.
Parameters | |
---|---|
action |
GuidedAction : Action to expand. |
withTransition |
boolean : True to run transition animation, false otherwsie.
|
getActionsGridView
public VerticalGridView getActionsGridView ()
Returns the VerticalGridView that displays the list of GuidedActions.
Returns | |
---|---|
VerticalGridView |
The VerticalGridView for this presenter. |
getExpandedAction
public GuidedAction getExpandedAction ()
Returns | |
---|---|
GuidedAction |
Current expanded GuidedAction or null if not expanded. |
getItemViewType
public int getItemViewType (GuidedAction action)
Return view type of action, each different type can have differently associated layout Id.
Default implementation returns VIEW_TYPE_DEFAULT
.
Parameters | |
---|---|
action |
GuidedAction : The action object. |
Returns | |
---|---|
int |
View type that used in onProvideItemLayoutId(int) .
|
getSubActionsGridView
public VerticalGridView getSubActionsGridView ()
Returns the VerticalGridView that displays the sub actions list of an expanded action.
Returns | |
---|---|
VerticalGridView |
The VerticalGridView that displays the sub actions list of an expanded action. |
isBackKeyToCollapseActivatorView
public final boolean isBackKeyToCollapseActivatorView ()
Returns | |
---|---|
boolean |
True if using BACK key to collapse GuidedAction with editable activator
view, false otherwise. Default value is true. |
See also:
isBackKeyToCollapseSubActions
public final boolean isBackKeyToCollapseSubActions ()
Returns | |
---|---|
boolean |
True if using BACK key to collapse sub actions list, false otherwise. Default value is true. |
isButtonActions
public boolean isButtonActions ()
Returns true if it is button actions list, false for normal actions list.
Returns | |
---|---|
boolean |
True if it is button actions list, false for normal actions list. |
isExpandTransitionSupported
public boolean isExpandTransitionSupported ()
Returns if expand/collapse animation is supported. When this method returns true,
startExpandedTransition(ViewHolder)
will be used. When this method returns false,
onUpdateExpandedViewHolder(ViewHolder)
will be called.
Returns | |
---|---|
boolean |
True if it is running an expanding or collapsing transition, false otherwise. |
isExpanded
public boolean isExpanded ()
Returns | |
---|---|
boolean |
True if there is getExpandedAction() is not null, false otherwise.
|
isInExpandTransition
public boolean isInExpandTransition ()
Returns true if it is running an expanding or collapsing transition, false otherwise.
Returns | |
---|---|
boolean |
True if it is running an expanding or collapsing transition, false otherwise. |
isSubActionsExpanded
public boolean isSubActionsExpanded ()
Returns | |
---|---|
boolean |
True if sub actions list is expanded. |
onAnimateItemChecked
public void onAnimateItemChecked (GuidedActionsStylist.ViewHolder vh, boolean checked)
Animates the view holder's view (or subviews thereof) when the action has had its check state
changed. Default implementation calls setChecked() if GuidedActionsStylist.ViewHolder.getCheckmarkView()
is instance of Checkable
.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder : The view holder associated with the relevant action. |
checked |
boolean : True if the action has become checked, false if it has become unchecked. |
onAnimateItemFocused
public void onAnimateItemFocused (GuidedActionsStylist.ViewHolder vh, boolean focused)
Animates the view holder's view (or subviews thereof) when the action has had its focus state changed.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder : The view holder associated with the relevant action. |
focused |
boolean : True if the action has become focused, false if it has lost focus.
|
onAnimateItemPressed
public void onAnimateItemPressed (GuidedActionsStylist.ViewHolder vh, boolean pressed)
Animates the view holder's view (or subviews thereof) when the action has had its press state changed.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder : The view holder associated with the relevant action. |
pressed |
boolean : True if the action has been pressed, false if it has been unpressed.
|
onAnimateItemPressedCancelled
public void onAnimateItemPressedCancelled (GuidedActionsStylist.ViewHolder vh)
Resets the view holder's view to unpressed state.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder : The view holder associated with the relevant action.
|
onBindActivatorView
public void onBindActivatorView (GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Performs binding activator view value to action. Default implementation supports GuidedDatePickerAction, subclass may override to add support of other views.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder : ViewHolder of activator view. |
action |
GuidedAction : GuidedAction to bind.
|
onBindCheckMarkView
public void onBindCheckMarkView (GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Sets states of check mark view, called by onBindViewHolder(ViewHolder, GuidedAction)
when action's checkset Id is other than GuidedAction.NO_CHECK_SET
. Default
implementation assigns drawable loaded from theme attribute
R.attr.listChoiceIndicatorMultiple
for checkbox or
R.attr.listChoiceIndicatorSingle
for radio button. Subclass rarely needs
override the method, instead app can provide its own drawable that supports transition
animations, change theme attributes R.attr.listChoiceIndicatorMultiple
and
R.attr.listChoiceIndicatorSingle
in {androidx.leanback.R.
styleable#LeanbackGuidedStepTheme}.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder : The view holder associated with the relevant action. |
action |
GuidedAction : The GuidedAction object to bind to. |
onBindChevronView
public void onBindChevronView (GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Sets states of chevron view, called by onBindViewHolder(ViewHolder, GuidedAction)
.
Subclass may override.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder : The view holder associated with the relevant action. |
action |
GuidedAction : The GuidedAction object to bind to.
|
onBindViewHolder
public void onBindViewHolder (GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Binds a GuidedActionsStylist.ViewHolder
to a particular GuidedAction
.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder : The view holder to be associated with the given action. |
action |
GuidedAction : The guided action to be displayed by the view holder's view. |
Returns | |
---|---|
void |
The view to be added to the caller's view hierarchy. |
onCreateView
public View onCreateView (LayoutInflater inflater, ViewGroup container)
Creates a view appropriate for displaying a list of GuidedActions, using the provided inflater and container.
Note: Does not actually add the created view to the container; the caller should do this.
Parameters | |
---|---|
inflater |
LayoutInflater : The layout inflater to be used when constructing the view. |
container |
ViewGroup : The view group to be passed in the call to
LayoutInflater.inflate . |
Returns | |
---|---|
View |
The view to be added to the caller's view hierarchy. |
onCreateViewHolder
public GuidedActionsStylist.ViewHolder onCreateViewHolder (ViewGroup parent, int viewType)
Constructs a GuidedActionsStylist.ViewHolder
capable of representing GuidedAction
s. Subclasses
may choose to return a subclass of ViewHolder.
Note: Should not actually add the created view to the parent; the caller will do this.
Parameters | |
---|---|
parent |
ViewGroup : The view group to be used as the parent of the new view. |
viewType |
int : The viewType returned by getItemViewType(GuidedAction) |
Returns | |
---|---|
GuidedActionsStylist.ViewHolder |
The view to be added to the caller's view hierarchy. |
onCreateViewHolder
public GuidedActionsStylist.ViewHolder onCreateViewHolder (ViewGroup parent)
Constructs a GuidedActionsStylist.ViewHolder
capable of representing GuidedAction
s. Subclasses
may choose to return a subclass of ViewHolder. To support different view types, override
onCreateViewHolder(ViewGroup, int)
Note: Should not actually add the created view to the parent; the caller will do this.
Parameters | |
---|---|
parent |
ViewGroup : The view group to be used as the parent of the new view. |
Returns | |
---|---|
GuidedActionsStylist.ViewHolder |
The view to be added to the caller's view hierarchy. |
onDestroyView
public void onDestroyView ()
Called when destroy the View created by GuidedActionsStylist.
onImeAppearing
public void onImeAppearing (List<Animator> animators)
Animates the fragment in response to the IME appearing.
Parameters | |
---|---|
animators |
List : A list of animations to which this provider's animations should be added.
|
onImeDisappearing
public void onImeDisappearing (List<Animator> animators)
Animates the fragment in response to the IME disappearing.
Parameters | |
---|---|
animators |
List : A list of animations to which this provider's animations should be added.
|
onProvideItemLayoutId
public int onProvideItemLayoutId ()
Provides the resource ID of the layout defining the view for an individual guided actions.
Subclasses may override to provide their own customized layouts. The base implementation
returns R.layout.lb_guidedactions_item
. If overridden,
the substituted layout should contain matching IDs for any views that should be managed by
the base class; this can be achieved by starting with a copy of the base layout file. Note
that in order for the item to support editing, the title view should both subclass EditText
and implement ImeKeyMonitor
,
GuidedActionAutofillSupport
; see GuidedActionEditText
. To support different types of Layouts, override onProvideItemLayoutId(int)
.
Returns | |
---|---|
int |
The resource ID of the layout to be inflated to define the view to display an individual GuidedAction. |
onProvideItemLayoutId
public int onProvideItemLayoutId (int viewType)
Provides the resource ID of the layout defining the view for an individual guided actions. Subclasses may override to provide their own customized layouts. The base implementation supports:
R.layout.lb_guidedactions_item
R.layout.lb_guidedactions_datepicker_item
. If
overridden, the substituted layout should contain matching IDs for any views that should be
managed by the base class; this can be achieved by starting with a copy of the base layout
file. Note that in order for the item to support editing, the title view should both subclass
EditText
and implement ImeKeyMonitor
; see
GuidedActionEditText
.
Parameters | |
---|---|
viewType |
int : View type returned by getItemViewType(GuidedAction) |
Returns | |
---|---|
int |
The resource ID of the layout to be inflated to define the view to display an individual GuidedAction. |
onProvideLayoutId
public int onProvideLayoutId ()
Provides the resource ID of the layout defining the host view for the list of guided actions.
Subclasses may override to provide their own customized layouts. The base implementation
returns R.layout.lb_guidedactions
or
R.layout.lb_guidedbuttonactions
if
isButtonActions()
is true. If overridden, the substituted layout should contain
matching IDs for any views that should be managed by the base class; this can be achieved by
starting with a copy of the base layout file.
Returns | |
---|---|
int |
The resource ID of the layout to be inflated to define the host view for the list of GuidedActions. |
onUpdateActivatorView
public boolean onUpdateActivatorView (GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Performs updating GuidedAction from activator view. Default implementation supports GuidedDatePickerAction, subclass may override to add support of other views.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder : ViewHolder of activator view. |
action |
GuidedAction : GuidedAction to update. |
Returns | |
---|---|
boolean |
True if value has been updated, false otherwise. |
onUpdateExpandedViewHolder
public void onUpdateExpandedViewHolder (GuidedActionsStylist.ViewHolder avh)
Expand or collapse GuidedActionStylist.
Parameters | |
---|---|
avh |
GuidedActionsStylist.ViewHolder : When not null, the GuidedActionStylist expands the sub actions of avh. When null
the GuidedActionStylist will collapse sub actions.
|
openInEditMode
public void openInEditMode (GuidedAction action)
Switches action to edit mode and pops up the keyboard.
Parameters | |
---|---|
action |
GuidedAction |
setAsButtonActions
public void setAsButtonActions ()
Choose the layout resource for button actions in onProvideLayoutId()
.
setBackKeyToCollapseActivatorView
public final void setBackKeyToCollapseActivatorView (boolean backToCollapse)
Enable or disable using BACK key to collapse GuidedAction
with editable activator
view. Default is enabled.
Parameters | |
---|---|
backToCollapse |
boolean : True to enable using BACK key to collapse GuidedAction with
editable activator view. |
See also:
setBackKeyToCollapseSubActions
public final void setBackKeyToCollapseSubActions (boolean backToCollapse)
Enable or disable using BACK key to collapse sub actions list. Default is enabled.
Parameters | |
---|---|
backToCollapse |
boolean : True to enable using BACK key to collapse sub actions list, false
to disable. |
setEditingMode
public void setEditingMode (GuidedActionsStylist.ViewHolder vh, GuidedAction action, boolean editing)
This method is deprecated.
This method is for internal library use only and should not
be called directly.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder |
action |
GuidedAction |
editing |
boolean |
setExpandedViewHolder
public void setExpandedViewHolder (GuidedActionsStylist.ViewHolder avh)
This method is deprecated.
use expandAction(GuidedAction, boolean)
and
collapseAction(boolean)
Expands or collapse the sub actions list view with transition animation
Parameters | |
---|---|
avh |
GuidedActionsStylist.ViewHolder : When not null, fill sub actions list of this ViewHolder into sub actions list and
hide the other items in main list. When null, collapse the sub actions list. |
startExpandedTransition
public void startExpandedTransition (GuidedActionsStylist.ViewHolder avh)
This method is deprecated.
use expandAction(GuidedAction, boolean)
and
collapseAction(boolean)
Start transition to expand or collapse GuidedActionStylist.
Parameters | |
---|---|
avh |
GuidedActionsStylist.ViewHolder : When not null, the GuidedActionStylist expands the sub actions of avh. When null
the GuidedActionStylist will collapse sub actions. |
Protected methods
onEditingModeChange
protected void onEditingModeChange (GuidedActionsStylist.ViewHolder vh, boolean editing, boolean withTransition)
Called when editing mode of an ViewHolder is changed. Subclass must call
super.onEditingModeChange(vh,editing,withTransition)
.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder : ViewHolder to change editing mode. |
editing |
boolean : True to enable editing, false to stop editing |
withTransition |
boolean : True to run expand transiiton, false otherwise.
|
onEditingModeChange
protected void onEditingModeChange (GuidedActionsStylist.ViewHolder vh, GuidedAction action, boolean editing)
This method is deprecated.
Use onEditingModeChange(ViewHolder, boolean, boolean)
.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder |
action |
GuidedAction |
editing |
boolean |
setupImeOptions
protected void setupImeOptions (GuidedActionsStylist.ViewHolder vh, GuidedAction action)
Called by onBindViewHolder(ViewHolder, GuidedAction)
to setup IME options. Default
implementation assigns EditorInfo.IME_ACTION_DONE
. Subclass may override.
Parameters | |
---|---|
vh |
GuidedActionsStylist.ViewHolder : The view holder to be associated with the given action. |
action |
GuidedAction : The guided action to be displayed by the view holder's view.
|
Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2020-09-30 UTC.