added in version 24.1.0
belongs to Maven artifact


public class FullWidthDetailsOverviewRowPresenter
extends RowPresenter


Renders a DetailsOverviewRow to display an overview of an item. Typically this row will be the first row in a fragment such as the DetailsFragment. The View created by the FullWidthDetailsOverviewRowPresenter is made in three parts: logo view on the left, action list view on the top and a customizable detailed description view on the right.

The detailed description is rendered using a Presenter passed in FullWidthDetailsOverviewRowPresenter(Presenter). Typically this will be an instance of AbstractDetailsDescriptionPresenter. The application can access the detailed description ViewHolder from getDetailsDescriptionViewHolder().

The logo view is rendered using a customizable DetailsOverviewLogoPresenter passed in FullWidthDetailsOverviewRowPresenter(Presenter, DetailsOverviewLogoPresenter). The application can access the logo ViewHolder from getLogoViewHolder().

To support activity shared element transition, call setListener(Listener) with FullWidthDetailsOverviewSharedElementHelper during Activity's onCreate(). Application is free to create its own "shared element helper" class using the Listener for image binding. Call setParticipatingEntranceTransition(boolean) with false

The view has three states: STATE_HALF STATE_FULL and STATE_SMALL. See DetailsFragment where it switches states based on selected row position.


Nested classes

class FullWidthDetailsOverviewRowPresenter.Listener

Listeners for events on ViewHolder. 

class FullWidthDetailsOverviewRowPresenter.ViewHolder

A ViewHolder for the DetailsOverviewRow. 



This is the alignment mode that the ending edge of logo and the starting edge of description align to the middle of the overview view.


This is the alignment mode that the logo and description align to the starting edge of the overview view.


This is the state when the view covers full width and height of screen.


This is the default state corresponding to layout file.


This is the state where the view shrinks to a small banner.

Inherited constants

From class


protected int mInitialState

Public constructors

FullWidthDetailsOverviewRowPresenter(Presenter detailsPresenter)

Constructor for a FullWidthDetailsOverviewRowPresenter.

FullWidthDetailsOverviewRowPresenter(Presenter detailsPresenter, DetailsOverviewLogoPresenter logoPresenter)

Constructor for a FullWidthDetailsOverviewRowPresenter.

Public methods

final int getActionsBackgroundColor()

Returns the background color of actions.

final int getAlignmentMode()

Returns alignment mode of Description.

final int getBackgroundColor()

Returns the background color.

final int getInitialState()

Returns the initial state used to create ViewHolder.

OnActionClickedListener getOnActionClickedListener()

Returns the listener for Action click events.

final boolean isParticipatingEntranceTransition()

Returns true if the overview should be part of shared element transition.

final boolean isUsingDefaultSelectEffect()

Returns true if this RowPresenter is using the default dimming effect.

final void notifyOnBindLogo(FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder)

Called by DetailsOverviewLogoPresenter to notify logo was bound to view.

final void setActionsBackgroundColor(int color)

Sets the background color for Action Bar.

final void setAlignmentMode(int alignmentMode)

Set alignment mode of Description.

final void setBackgroundColor(int color)

Sets the background color.

void setEntranceTransitionState(RowPresenter.ViewHolder holder, boolean afterEntrance)

Changes the visibility of views.

final void setInitialState(int state)

Change the initial state used to create ViewHolder.

final void setListener(FullWidthDetailsOverviewRowPresenter.Listener listener)

Set listener for details overview presenter.

void setOnActionClickedListener(OnActionClickedListener listener)

Sets the listener for Action click events.

final void setParticipatingEntranceTransition(boolean participating)

Sets if the overview should be part of shared element transition.

final void setState(FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int state)

Switch state of a ViewHolder.

Protected methods

RowPresenter.ViewHolder createRowViewHolder(ViewGroup parent)

Called to create a ViewHolder object for a Row.

int getLayoutResourceId()

Get resource id to inflate the layout.

boolean isClippingChildren()

Returns true if the Row view should clip its children.

void onBindRowViewHolder(RowPresenter.ViewHolder holder, Object item)

Binds the given row object to the given ViewHolder.

void onLayoutLogo(FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int oldState, boolean logoChanged)

Layout logo position based on current state.

void onLayoutOverviewFrame(FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int oldState, boolean logoChanged)

Layout overview frame based on current state.

void onRowViewAttachedToWindow(RowPresenter.ViewHolder vh)

Invoked when the row view is attached to the window.

void onRowViewDetachedFromWindow(RowPresenter.ViewHolder vh)

Invoked when the row view is detached from the window.

void onSelectLevelChanged(RowPresenter.ViewHolder holder)

Callback when the select level changes.

void onStateChanged(FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int oldState)

Called when getState() changes.

void onUnbindRowViewHolder(RowPresenter.ViewHolder holder)

Unbinds the given ViewHolder.

Inherited methods

From class