Most visited

Recently visited

GuidedStepSupportFragment

public class GuidedStepSupportFragment
extends Fragment

java.lang.Object
   ↳ android.support.v4.app.Fragment
     ↳ android.support.v17.leanback.app.GuidedStepSupportFragment


A GuidedStepSupportFragment is used to guide the user through a decision or series of decisions. It is composed of a guidance view on the left and a view on the right containing a list of possible actions.

Basic Usage

Clients of GuidedStepSupportFragment must create a custom subclass to attach to their Activities. This custom subclass provides the information necessary to construct the user interface and respond to user actions. At a minimum, subclasses should override:

Clients use following helper functions to add GuidedStepSupportFragment to Activity or FragmentManager:

Theming and Stylists

GuidedStepSupportFragment delegates its visual styling to classes called stylists. The GuidanceStylist is responsible for the left guidance view, while the GuidedActionsStylist is responsible for the right actions view. The stylists use theme attributes to derive values associated with the presentation, such as colors, animations, etc. Most simple visual aspects of GuidanceStylist and GuidedActionsStylist can be customized via theming; see their documentation for more information.

GuidedStepSupportFragments must have access to an appropriate theme in order for the stylists to function properly. Specifically, the fragment must receive Theme_Leanback_GuidedStep, or a theme whose parent is is set to that theme. Themes can be provided in one of three ways:

If the theme is provided in multiple ways, the onProvideTheme override has priority, followed by the Activty's theme. (Themes whose parent theme is already set to the guided step theme do not need to set the guidedStepTheme attribute; if set, it will be ignored.)

If themes do not provide enough customizability, the stylists themselves may be subclassed and provided to the GuidedStepSupportFragment through the onCreateGuidanceStylist() and onCreateActionsStylist() methods. The stylists have simple hooks so that subclasses may override layout files; subclasses may also have more complex logic to determine styling.

Guided sequences

GuidedStepSupportFragments can be grouped together to provide a guided sequence. GuidedStepSupportFragments grouped as a sequence use custom animations provided by GuidanceStylist and GuidedActionsStylist (or subclasses) during transitions between steps. Clients should use add(FragmentManager, GuidedStepSupportFragment) to place subsequent GuidedFragments onto the fragment stack so that custom animations are properly configured. (Custom animations are triggered automatically when the fragment stack is subsequently popped by any normal mechanism.)

Note: Currently GuidedStepSupportFragments grouped in this way must all be defined programmatically, rather than in XML. This restriction may be removed in the future.

See also:

Summary

XML attributes

android.support.v17.leanback:guidedActionContentWidthWeight Theme attribute used for the weight of actions. 
android.support.v17.leanback:guidedActionContentWidthWeightTwoPanels Theme attribute used for the weight of actions when there are two panels. 
android.support.v17.leanback:guidedActionsBackground Theme attribute for the background of GuidedActions. 
android.support.v17.leanback:guidedActionsBackgroundDark Theme attribute for the dark version background of GuidedActions. 
android.support.v17.leanback:guidedActionsElevation Theme attribute for the shadow elevation of GuidedActions. 
android.support.v17.leanback:guidedStepBackground Theme attribute of background drawable used by GuidedStepFragment. 
android.support.v17.leanback:guidedStepTheme Theme attribute for the overall theme used in a GuidedStepFragment. 

Constants

String EXTRA_UI_STYLE

Fragment argument name for UI style.

int UI_STYLE_ACTIVITY_ROOT

One possible value of argument EXTRA_UI_STYLE.

int UI_STYLE_DEFAULT

This constant is deprecated. Same value as UI_STYLE_REPLACE.

int UI_STYLE_ENTRANCE

Default value for argument EXTRA_UI_STYLE.

int UI_STYLE_REPLACE

This is the case that we use GuidedStepSupportFragment to replace another existing GuidedStepSupportFragment when moving forward to next step.

Public constructors

GuidedStepSupportFragment()

Public methods

static int add(FragmentManager fragmentManager, GuidedStepSupportFragment fragment, int id)

Adds the specified GuidedStepSupportFragment to the fragment stack, replacing any existing GuidedStepSupportFragments in the stack, and configuring the fragment-to-fragment custom transitions.

static int add(FragmentManager fragmentManager, GuidedStepSupportFragment fragment)

Adds the specified GuidedStepSupportFragment to the fragment stack, replacing any existing GuidedStepSupportFragments in the stack, and configuring the fragment-to-fragment custom transitions.

static int addAsRoot(FragmentActivity activity, GuidedStepSupportFragment fragment, int id)

Adds the specified GuidedStepSupportFragment as content of Activity; no backstack entry is added so the activity will be dismissed when BACK key is pressed.

void collapseSubActions()

Collapse sub actions list.

void expandSubActions(GuidedAction action)

Expand a given action's sub actions list.

GuidedAction findActionById(long id)

Find GuidedAction by Id.

int findActionPositionById(long id)

Find GuidedAction position in array by Id.

GuidedAction findButtonActionById(long id)

Find button GuidedAction by Id.

int findButtonActionPositionById(long id)

Find button GuidedAction position in array by Id.

void finishGuidedStepSupportFragments()

Convenient method to close GuidedStepSupportFragments on top of other content or finish Activity if GuidedStepSupportFragments were started in a separate activity.

View getActionItemView(int position)

Returns the view corresponding to the action at the indicated position in the list of actions for this fragment.

List<GuidedAction> getActions()

Returns the list of GuidedActions that the user may take in this fragment.

View getButtonActionItemView(int position)

Returns the view corresponding to the button action at the indicated position in the list of actions for this fragment.

List<GuidedAction> getButtonActions()

Returns the list of button GuidedActions that the user may take in this fragment.

static GuidedStepSupportFragment getCurrentGuidedStepSupportFragment(FragmentManager fm)

Returns the current GuidedStepSupportFragment on the fragment transaction stack.

GuidanceStylist getGuidanceStylist()

Returns the GuidanceStylist that displays guidance information for the user.

GuidedActionsStylist getGuidedActionsStylist()

Returns the GuidedActionsStylist that displays the actions the user may take.

GuidedActionsStylist getGuidedButtonActionsStylist()

Returns the GuidedActionsStylist that displays the button actions the user may take.

int getSelectedActionPosition()

Returns the position if the currently selected GuidedAction.

int getSelectedButtonActionPosition()

Returns the position if the currently selected button GuidedAction.

int getUiStyle()

Read UI style from fragment arguments.

boolean isFocusOutEndAllowed()

Returns true if allows focus out of end edge of GuidedStepSupportFragment, false otherwise.

boolean isFocusOutStartAllowed()

Returns true if allows focus out of start edge of GuidedStepSupportFragment, false otherwise.

boolean isSubActionsExpanded()
void notifyActionChanged(int position)

Notify an action has changed and update its UI.

void notifyButtonActionChanged(int position)

Notify an button action has changed and update its UI.

void onCreate(Bundle savedInstanceState)

Called to do initial creation of a fragment.

void onCreateActions(List<GuidedAction> actions, Bundle savedInstanceState)

Fills out the set of actions available to the user.

GuidedActionsStylist onCreateActionsStylist()

Creates the presenter used to style the guided actions panel.

View onCreateBackgroundView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)

Called by onCreateView to inflate background view.

void onCreateButtonActions(List<GuidedAction> actions, Bundle savedInstanceState)

Fills out the set of actions shown at right available to the user.

GuidedActionsStylist onCreateButtonActionsStylist()

Creates the presenter used to style a sided actions panel for button only.

GuidanceStylist.Guidance onCreateGuidance(Bundle savedInstanceState)

Returns the information required to provide guidance to the user.

GuidanceStylist onCreateGuidanceStylist()

Creates the presenter used to style the guidance panel.

View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)

Called to have the fragment instantiate its user interface view.

void onDestroyView()

Called when the view previously created by onCreateView(LayoutInflater, ViewGroup, Bundle) has been detached from the fragment.

void onGuidedActionClicked(GuidedAction action)

Callback invoked when an action is taken by the user.

void onGuidedActionEditCanceled(GuidedAction action)

Callback invoked when an action has been canceled editing, for example when user closes IME window by BACK key.

void onGuidedActionEdited(GuidedAction action)

This method is deprecated. Override onGuidedActionEditedAndProceed(GuidedAction) and/or onGuidedActionEditCanceled(GuidedAction).

long onGuidedActionEditedAndProceed(GuidedAction action)

Callback invoked when an action has been edited, for example when user clicks confirm button in IME window.

void onGuidedActionFocused(GuidedAction action)

Callback invoked when an action is focused (made to be the current selection) by the user.

int onProvideTheme()

Returns the theme used for styling the fragment.

void onResume()

Called when the fragment is visible to the user and actively running.

void onSaveInstanceState(Bundle outState)

Called to ask the fragment to save its current dynamic state, so it can later be reconstructed in a new instance of its process is restarted.

boolean onSubGuidedActionClicked(GuidedAction action)

Callback invoked when an action in sub actions is taken by the user.

void popBackStackToGuidedStepSupportFragment(Class guidedStepFragmentClass, int flags)

Convenient method to pop to fragment with Given class.

void setActions(List<GuidedAction> actions)

Sets the list of GuidedActions that the user may take in this fragment.

void setButtonActions(List<GuidedAction> actions)

Sets the list of button GuidedActions that the user may take in this fragment.

void setSelectedActionPosition(int position)

Scrolls the action list to the position indicated, selecting that action's view.

void setSelectedButtonActionPosition(int position)

Scrolls the action list to the position indicated, selecting that button action's view.

void setUiStyle(int style)

Set UI style to fragment arguments.

Protected methods

void onAddSharedElementTransition(FragmentTransaction ft, GuidedStepSupportFragment disappearing)

Called when this fragment is added to FragmentTransaction with UI_STYLE_REPLACE (aka when the GuidedStepSupportFragment replacing an existing GuidedStepSupportFragment).

void onProvideFragmentTransitions()

Called by Constructor to provide fragment transitions.

Inherited methods

From class android.support.v4.app.Fragment
From class java.lang.Object
From interface android.content.ComponentCallbacks
From interface android.view.View.OnCreateContextMenuListener

XML attributes

android.support.v17.leanback:guidedActionContentWidthWeight

Theme attribute used for the weight of actions. Default is lb_guidedactions_width_weight.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

android.support.v17.leanback:guidedActionContentWidthWeightTwoPanels

Theme attribute used for the weight of actions when there are two panels. Default is lb_guidedactions_width_weight_two_panels.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

android.support.v17.leanback:guidedActionsBackground

Theme attribute for the background of GuidedActions. Default is lb_guidedactions_background.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

android.support.v17.leanback:guidedActionsBackgroundDark

Theme attribute for the dark version background of GuidedActions. Default is lb_guidedactions_background_dark.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

android.support.v17.leanback:guidedActionsElevation

Theme attribute for the shadow elevation of GuidedActions. Default is lb_guidedactions_elevation.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).

android.support.v17.leanback:guidedStepBackground

Theme attribute of background drawable used by GuidedStepFragment.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

May be a color value, in the form of "#rgb", "#argb", "#rrggbb#aarrggbb".

android.support.v17.leanback:guidedStepTheme

Theme attribute for the overall theme used in a GuidedStepFragment. The Leanback themes set the default for this, but a custom theme that does not derive from a leanback theme can set this to @style/Theme.Leanback.GuidedStep in order to specify the default GuidedStepFragment styles.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

Constants

EXTRA_UI_STYLE

String EXTRA_UI_STYLE

Fragment argument name for UI style. The argument value is persisted in fragment state and used to select fragment transition. The value is initially UI_STYLE_ENTRANCE and might be changed in one of the three helper functions:

Argument value can be either:

Constant Value: "uiStyle"

UI_STYLE_ACTIVITY_ROOT

int UI_STYLE_ACTIVITY_ROOT

One possible value of argument EXTRA_UI_STYLE. This is the case that we show first GuidedStepSupportFragment in a separate activity. The default behavior of this style:

  • Enter transition is assigned null (will rely on activity transition), exit transition is same as UI_STYLE_ENTRANCE. Note: Changing exit transition by UI style is not working because fragment transition asks for exit transition before UI style is restored in Fragment.onCreate().

Constant Value: 2 (0x00000002)

UI_STYLE_DEFAULT

int UI_STYLE_DEFAULT

This constant is deprecated.
Same value as UI_STYLE_REPLACE.

Constant Value: 0 (0x00000000)

UI_STYLE_ENTRANCE

int UI_STYLE_ENTRANCE

Default value for argument EXTRA_UI_STYLE. The default value is assigned in GuidedStepSupportFragment constructor. This is the case that we show GuidedStepSupportFragment on top of other content. The default behavior of this style:

  • Enter transition slides in from two sides, exit transition slide out to START(left). Background will be faded in. Note: Changing exit transition by UI style is not working because fragment transition asks for exit transition before UI style is restored in Fragment .onCreate().
When popping multiple GuidedStepSupportFragment, finishGuidedStepSupportFragments() also changes the top GuidedStepSupportFragment to UI_STYLE_ENTRANCE in order to run the return transition (reverse of enter transition) of UI_STYLE_ENTRANCE.

Constant Value: 1 (0x00000001)

UI_STYLE_REPLACE

int UI_STYLE_REPLACE

This is the case that we use GuidedStepSupportFragment to replace another existing GuidedStepSupportFragment when moving forward to next step. Default behavior of this style is:

  • Enter transition slides in from END(right), exit transition same as UI_STYLE_ENTRANCE.

Constant Value: 0 (0x00000000)

Public constructors

GuidedStepSupportFragment

GuidedStepSupportFragment ()

Public methods

add

int add (FragmentManager fragmentManager, 
                GuidedStepSupportFragment fragment, 
                int id)

Adds the specified GuidedStepSupportFragment to the fragment stack, replacing any existing GuidedStepSupportFragments in the stack, and configuring the fragment-to-fragment custom transitions. A backstack entry is added, so the fragment will be dismissed when BACK key is pressed.

  • If current fragment on stack is GuidedStepSupportFragment: assign UI_STYLE_REPLACE and onAddSharedElementTransition(FragmentTransaction, GuidedStepSupportFragment) will be called to perform shared element transition between GuidedStepSupportFragments.
  • If current fragment on stack is not GuidedStepSupportFragment: assign UI_STYLE_ENTRANCE

    Note: currently fragments added using this method must be created programmatically rather than via XML.

    Parameters
    fragmentManager FragmentManager: The FragmentManager to be used in the transaction.
    fragment GuidedStepSupportFragment: The GuidedStepSupportFragment to be inserted into the fragment stack.
    id int: The id of container to add GuidedStepSupportFragment, can be android.R.id.content.
    Returns
    int The ID returned by the call FragmentTransaction.commit.
  • add

    int add (FragmentManager fragmentManager, 
                    GuidedStepSupportFragment fragment)

    Adds the specified GuidedStepSupportFragment to the fragment stack, replacing any existing GuidedStepSupportFragments in the stack, and configuring the fragment-to-fragment custom transitions. A backstack entry is added, so the fragment will be dismissed when BACK key is pressed.

  • If current fragment on stack is GuidedStepSupportFragment: assign UI_STYLE_REPLACE
  • If current fragment on stack is not GuidedStepSupportFragment: assign UI_STYLE_ENTRANCE

    Note: currently fragments added using this method must be created programmatically rather than via XML.

    Parameters
    fragmentManager FragmentManager: The FragmentManager to be used in the transaction.
    fragment GuidedStepSupportFragment: The GuidedStepSupportFragment to be inserted into the fragment stack.
    Returns
    int The ID returned by the call FragmentTransaction.commit.
  • addAsRoot

    int addAsRoot (FragmentActivity activity, 
                    GuidedStepSupportFragment fragment, 
                    int id)

    Adds the specified GuidedStepSupportFragment as content of Activity; no backstack entry is added so the activity will be dismissed when BACK key is pressed. The method is typically called in Activity.onCreate() when savedInstanceState is null. When savedInstanceState is not null, the Activity is being restored, do not call addAsRoot() to duplicate the Fragment restored by FragmentManager. UI_STYLE_ACTIVITY_ROOT is assigned. Note: currently fragments added using this method must be created programmatically rather than via XML.

    Parameters
    activity FragmentActivity: The Activity to be used to insert GuidedstepFragment.
    fragment GuidedStepSupportFragment: The GuidedStepSupportFragment to be inserted into the fragment stack.
    id int: The id of container to add GuidedStepSupportFragment, can be android.R.id.content.
    Returns
    int The ID returned by the call FragmentTransaction.commit, or -1 there is already GuidedStepSupportFragment.

    collapseSubActions

    void collapseSubActions ()

    Collapse sub actions list.

    See also:

    expandSubActions

    void expandSubActions (GuidedAction action)

    Expand a given action's sub actions list.

    Parameters
    action GuidedAction: GuidedAction to expand.

    See also:

    findActionById

    GuidedAction findActionById (long id)

    Find GuidedAction by Id.

    Parameters
    id long: Id of the action to search.
    Returns
    GuidedAction GuidedAction object or null if not found.

    findActionPositionById

    int findActionPositionById (long id)

    Find GuidedAction position in array by Id.

    Parameters
    id long: Id of the action to search.
    Returns
    int position of GuidedAction object in array or -1 if not found.

    findButtonActionById

    GuidedAction findButtonActionById (long id)

    Find button GuidedAction by Id.

    Parameters
    id long: Id of the button action to search.
    Returns
    GuidedAction GuidedAction object or null if not found.

    findButtonActionPositionById

    int findButtonActionPositionById (long id)

    Find button GuidedAction position in array by Id.

    Parameters
    id long: Id of the button action to search.
    Returns
    int position of GuidedAction object in array or -1 if not found.

    finishGuidedStepSupportFragments

    void finishGuidedStepSupportFragments ()

    Convenient method to close GuidedStepSupportFragments on top of other content or finish Activity if GuidedStepSupportFragments were started in a separate activity. Pops all stack entries including UI_STYLE_ENTRANCE; if UI_STYLE_ENTRANCE is not found, finish the activity. Note that this method must be paired with add(FragmentManager, GuidedStepSupportFragment, int) which sets up the stack entry name for finding which fragment we need to pop back to.

    getActionItemView

    View getActionItemView (int position)

    Returns the view corresponding to the action at the indicated position in the list of actions for this fragment.

    Parameters
    position int: The integer position of the action of interest.
    Returns
    View The View corresponding to the action at the indicated position, or null if that action is not currently onscreen.

    getActions

    List<GuidedAction> getActions ()

    Returns the list of GuidedActions that the user may take in this fragment.

    Returns
    List<GuidedAction> The list of GuidedActions for this fragment.

    getButtonActionItemView

    View getButtonActionItemView (int position)

    Returns the view corresponding to the button action at the indicated position in the list of actions for this fragment.

    Parameters
    position int: The integer position of the button action of interest.
    Returns
    View The View corresponding to the button action at the indicated position, or null if that action is not currently onscreen.

    getButtonActions

    List<GuidedAction> getButtonActions ()

    Returns the list of button GuidedActions that the user may take in this fragment.

    Returns
    List<GuidedAction> The list of button GuidedActions for this fragment.

    getCurrentGuidedStepSupportFragment

    GuidedStepSupportFragment getCurrentGuidedStepSupportFragment (FragmentManager fm)

    Returns the current GuidedStepSupportFragment on the fragment transaction stack.

    Parameters
    fm FragmentManager
    Returns
    GuidedStepSupportFragment The current GuidedStepSupportFragment, if any, on the fragment transaction stack.

    getGuidanceStylist

    GuidanceStylist getGuidanceStylist ()

    Returns the GuidanceStylist that displays guidance information for the user.

    Returns
    GuidanceStylist The GuidanceStylist for this fragment.

    getGuidedActionsStylist

    GuidedActionsStylist getGuidedActionsStylist ()

    Returns the GuidedActionsStylist that displays the actions the user may take.

    Returns
    GuidedActionsStylist The GuidedActionsStylist for this fragment.

    getGuidedButtonActionsStylist

    GuidedActionsStylist getGuidedButtonActionsStylist ()

    Returns the GuidedActionsStylist that displays the button actions the user may take.

    Returns
    GuidedActionsStylist The GuidedActionsStylist for this fragment.

    getSelectedActionPosition

    int getSelectedActionPosition ()

    Returns the position if the currently selected GuidedAction.

    Returns
    int position The integer position of the currently selected action.

    getSelectedButtonActionPosition

    int getSelectedButtonActionPosition ()

    Returns the position if the currently selected button GuidedAction.

    Returns
    int position The integer position of the currently selected button action.

    getUiStyle

    int getUiStyle ()

    Read UI style from fragment arguments. Default value is UI_STYLE_ENTRANCE when fragment is first initialized. UI style is used to choose different fragment transition animations and determine if this is the first GuidedStepSupportFragment on backstack.

    Returns
    int UI_STYLE_ACTIVITY_ROOT UI_STYLE_REPLACE or UI_STYLE_ENTRANCE.

    See also:

    isFocusOutEndAllowed

    boolean isFocusOutEndAllowed ()

    Returns true if allows focus out of end edge of GuidedStepSupportFragment, false otherwise. Default value is false, the reason is to disable FocusFinder to find focusable views beneath content of GuidedStepSupportFragment. Subclass may override.

    Returns
    boolean True if allows focus out of end edge of GuidedStepSupportFragment.

    isFocusOutStartAllowed

    boolean isFocusOutStartAllowed ()

    Returns true if allows focus out of start edge of GuidedStepSupportFragment, false otherwise. Default value is false, the reason is to disable FocusFinder to find focusable views beneath content of GuidedStepSupportFragment. Subclass may override.

    Returns
    boolean True if allows focus out of start edge of GuidedStepSupportFragment.

    isSubActionsExpanded

    boolean isSubActionsExpanded ()

    Returns
    boolean True if the sub actions list is expanded, false otherwise.

    notifyActionChanged

    void notifyActionChanged (int position)

    Notify an action has changed and update its UI.

    Parameters
    position int: Position of the GuidedAction in array.

    notifyButtonActionChanged

    void notifyButtonActionChanged (int position)

    Notify an button action has changed and update its UI.

    Parameters
    position int: Position of the button GuidedAction in array.

    onCreate

    void onCreate (Bundle savedInstanceState)

    Called to do initial creation of a fragment. This is called after onAttach(Activity) and before onCreateView(LayoutInflater, ViewGroup, Bundle).

    Note that this can be called while the fragment's activity is still in the process of being created. As such, you can not rely on things like the activity's content view hierarchy being initialized at this point. If you want to do work once the activity itself is created, see onActivityCreated(Bundle).

    Any restored child fragments will be created before the base Fragment.onCreate method returns.

    Parameters
    savedInstanceState Bundle: If the fragment is being re-created from a previous saved state, this is the state.

    onCreateActions

    void onCreateActions (List<GuidedAction> actions, 
                    Bundle savedInstanceState)

    Fills out the set of actions available to the user. This hook is called during onCreate(Bundle). The default leaves the list of actions empty; subclasses should override.

    Parameters
    actions List: A non-null, empty list ready to be populated.
    savedInstanceState Bundle: The saved instance state from onCreate.

    onCreateActionsStylist

    GuidedActionsStylist onCreateActionsStylist ()

    Creates the presenter used to style the guided actions panel. The default implementation returns a basic GuidedActionsStylist.

    Returns
    GuidedActionsStylist The GuidedActionsStylist used in this fragment.

    onCreateBackgroundView

    View onCreateBackgroundView (LayoutInflater inflater, 
                    ViewGroup container, 
                    Bundle savedInstanceState)

    Called by onCreateView to inflate background view. Default implementation loads view from lb_guidedstep_background which holds a reference to guidedStepBackground.

    Parameters
    inflater LayoutInflater: LayoutInflater to load background view.
    container ViewGroup: Parent view of background view.
    Returns
    View Created background view or null if no background.

    onCreateButtonActions

    void onCreateButtonActions (List<GuidedAction> actions, 
                    Bundle savedInstanceState)

    Fills out the set of actions shown at right available to the user. This hook is called during onCreate(Bundle). The default leaves the list of actions empty; subclasses may override.

    Parameters
    actions List: A non-null, empty list ready to be populated.
    savedInstanceState Bundle: The saved instance state from onCreate.

    onCreateButtonActionsStylist

    GuidedActionsStylist onCreateButtonActionsStylist ()

    Creates the presenter used to style a sided actions panel for button only. The default implementation returns a basic GuidedActionsStylist.

    Returns
    GuidedActionsStylist The GuidedActionsStylist used in this fragment.

    onCreateGuidance

    GuidanceStylist.Guidance onCreateGuidance (Bundle savedInstanceState)

    Returns the information required to provide guidance to the user. This hook is called during onCreateView(LayoutInflater, ViewGroup, Bundle). May be overridden to return a custom subclass of GuidanceStylist.Guidance for use in a subclass of GuidanceStylist. The default returns a Guidance object with empty fields; subclasses should override.

    Parameters
    savedInstanceState Bundle: The saved instance state from onCreateView.
    Returns
    GuidanceStylist.Guidance The Guidance object representing the information used to guide the user.

    onCreateGuidanceStylist

    GuidanceStylist onCreateGuidanceStylist ()

    Creates the presenter used to style the guidance panel. The default implementation returns a basic GuidanceStylist.

    Returns
    GuidanceStylist The GuidanceStylist used in this fragment.

    onCreateView

    View onCreateView (LayoutInflater inflater, 
                    ViewGroup container, 
                    Bundle savedInstanceState)

    Called to have the fragment instantiate its user interface view. This is optional, and non-graphical fragments can return null (which is the default implementation). This will be called between onCreate(Bundle) and onActivityCreated(Bundle).

    If you return a View from here, you will later be called in onDestroyView() when the view is being released.

    Parameters
    inflater LayoutInflater: The LayoutInflater object that can be used to inflate any views in the fragment,
    container ViewGroup: If non-null, this is the parent view that the fragment's UI should be attached to. The fragment should not add the view itself, but this can be used to generate the LayoutParams of the view.
    savedInstanceState Bundle: If non-null, this fragment is being re-constructed from a previous saved state as given here.
    Returns
    View Return the View for the fragment's UI, or null.

    onDestroyView

    void onDestroyView ()

    Called when the view previously created by onCreateView(LayoutInflater, ViewGroup, Bundle) has been detached from the fragment. The next time the fragment needs to be displayed, a new view will be created. This is called after onStop() and before onDestroy(). It is called regardless of whether onCreateView(LayoutInflater, ViewGroup, Bundle) returned a non-null view. Internally it is called after the view's state has been saved but before it has been removed from its parent.

    onGuidedActionClicked

    void onGuidedActionClicked (GuidedAction action)

    Callback invoked when an action is taken by the user. Subclasses should override in order to act on the user's decisions.

    Parameters
    action GuidedAction: The chosen action.

    onGuidedActionEditCanceled

    void onGuidedActionEditCanceled (GuidedAction action)

    Callback invoked when an action has been canceled editing, for example when user closes IME window by BACK key. Default implementation calls deprecated method onGuidedActionEdited(GuidedAction).

    Parameters
    action GuidedAction: The action which has been canceled editing.

    onGuidedActionEdited

    void onGuidedActionEdited (GuidedAction action)

    This method is deprecated.
    Override onGuidedActionEditedAndProceed(GuidedAction) and/or onGuidedActionEditCanceled(GuidedAction).

    Callback invoked when an action's title or description has been edited, this happens either when user clicks confirm button in IME or user closes IME window by BACK key.

    Parameters
    action GuidedAction

    onGuidedActionEditedAndProceed

    long onGuidedActionEditedAndProceed (GuidedAction action)

    Callback invoked when an action has been edited, for example when user clicks confirm button in IME window. Default implementation calls deprecated method onGuidedActionEdited(GuidedAction) and returns ACTION_ID_NEXT.

    Parameters
    action GuidedAction: The action that has been edited.
    Returns
    long ID of the action will be focused or ACTION_ID_NEXT, ACTION_ID_CURRENT.

    onGuidedActionFocused

    void onGuidedActionFocused (GuidedAction action)

    Callback invoked when an action is focused (made to be the current selection) by the user.

    Parameters
    action GuidedAction

    onProvideTheme

    int onProvideTheme ()

    Returns the theme used for styling the fragment. The default returns -1, indicating that the host Activity's theme should be used.

    Returns
    int The theme resource ID of the theme to use in this fragment, or -1 to use the host Activity's theme.

    onResume

    void onResume ()

    Called when the fragment is visible to the user and actively running. This is generally tied to Activity.onResume of the containing Activity's lifecycle.

    onSaveInstanceState

    void onSaveInstanceState (Bundle outState)

    Called to ask the fragment to save its current dynamic state, so it can later be reconstructed in a new instance of its process is restarted. If a new instance of the fragment later needs to be created, the data you place in the Bundle here will be available in the Bundle given to onCreate(Bundle), onCreateView(LayoutInflater, ViewGroup, Bundle), and onActivityCreated(Bundle).

    This corresponds to Activity.onSaveInstanceState(Bundle) and most of the discussion there applies here as well. Note however: this method may be called at any time before onDestroy(). There are many situations where a fragment may be mostly torn down (such as when placed on the back stack with no UI showing), but its state will not be saved until its owning activity actually needs to save its state.

    Parameters
    outState Bundle: Bundle in which to place your saved state.

    onSubGuidedActionClicked

    boolean onSubGuidedActionClicked (GuidedAction action)

    Callback invoked when an action in sub actions is taken by the user. Subclasses should override in order to act on the user's decisions. Default return value is true to close the sub actions list.

    Parameters
    action GuidedAction: The chosen action.
    Returns
    boolean true to collapse the sub actions list, false to keep it expanded.

    popBackStackToGuidedStepSupportFragment

    void popBackStackToGuidedStepSupportFragment (Class guidedStepFragmentClass, 
                    int flags)

    Convenient method to pop to fragment with Given class.

    Parameters
    guidedStepFragmentClass Class: Name of the Class of GuidedStepSupportFragment to pop to.
    flags int: Either 0 or POP_BACK_STACK_INCLUSIVE.

    setActions

    void setActions (List<GuidedAction> actions)

    Sets the list of GuidedActions that the user may take in this fragment.

    Parameters
    actions List: The list of GuidedActions for this fragment.

    setButtonActions

    void setButtonActions (List<GuidedAction> actions)

    Sets the list of button GuidedActions that the user may take in this fragment.

    Parameters
    actions List: The list of button GuidedActions for this fragment.

    setSelectedActionPosition

    void setSelectedActionPosition (int position)

    Scrolls the action list to the position indicated, selecting that action's view.

    Parameters
    position int: The integer position of the action of interest.

    setSelectedButtonActionPosition

    void setSelectedButtonActionPosition (int position)

    Scrolls the action list to the position indicated, selecting that button action's view.

    Parameters
    position int: The integer position of the button action of interest.

    setUiStyle

    void setUiStyle (int style)

    Set UI style to fragment arguments. Default value is UI_STYLE_ENTRANCE when fragment is first initialized. UI style is used to choose different fragment transition animations and determine if this is the first GuidedStepSupportFragment on backstack. In most cases app does not directly call this method, app calls helper function add(FragmentManager, GuidedStepSupportFragment, int). However if the app creates Fragment transaction and controls backstack by itself, it would need call setUiStyle() to select the fragment transition to use.

    Parameters
    style int: UI_STYLE_ACTIVITY_ROOT UI_STYLE_REPLACE or UI_STYLE_ENTRANCE.

    Protected methods

    onAddSharedElementTransition

    void onAddSharedElementTransition (FragmentTransaction ft, 
                    GuidedStepSupportFragment disappearing)

    Called when this fragment is added to FragmentTransaction with UI_STYLE_REPLACE (aka when the GuidedStepSupportFragment replacing an existing GuidedStepSupportFragment). Default implementation establishes connections between action background views to morph action background bounds change from disappearing GuidedStepSupportFragment into this GuidedStepSupportFragment. The default implementation heavily relies on GuidedActionsStylist's layout, app may override this method when modifying the default layout of GuidedActionsStylist.

    Parameters
    ft FragmentTransaction: The FragmentTransaction to add shared element.
    disappearing GuidedStepSupportFragment: The disappearing fragment.

    See also:

    onProvideFragmentTransitions

    void onProvideFragmentTransitions ()

    Called by Constructor to provide fragment transitions. The default implementation assigns transitions based on getUiStyle():

    • UI_STYLE_REPLACE Slide from/to end(right) for enter transition, slide from/to start(left) for exit transition, shared element enter transition is set to ChangeBounds.
    • UI_STYLE_ENTRANCE Enter transition is set to slide from both sides, exit transition is same as UI_STYLE_REPLACE, no shared element enter transition.
    • UI_STYLE_ACTIVITY_ROOT Enter transition is set to null and app should rely on activity transition, exit transition is same as UI_STYLE_REPLACE, no shared element enter transition.

    The default implementation heavily relies on GuidedActionsStylist and GuidanceStylist layout, app may override this method when modifying the default layout of GuidedActionsStylist or GuidanceStylist.

    TIP: because the fragment view is removed during fragment transition, in general app cannot use two Visibility transition together. Workaround is to create your own Visibility transition that controls multiple animators (e.g. slide and fade animation in one Transition class).

    Hooray!