added in version 1.0.0
belongs to Maven artifact androidx.leanback:leanback:1.0.0

VerticalGridPresenter

public class VerticalGridPresenter
extends Presenter

java.lang.Object
   ↳ androidx.leanback.widget.Presenter
     ↳ androidx.leanback.widget.VerticalGridPresenter


A presenter that renders objects in a VerticalGridView.

Summary

Nested classes

class VerticalGridPresenter.ViewHolder

ViewHolder for the VerticalGridPresenter. 

Public constructors

VerticalGridPresenter()

Constructs a VerticalGridPresenter with defaults.

VerticalGridPresenter(int focusZoomFactor)

Constructs a VerticalGridPresenter with the given parameters.

VerticalGridPresenter(int focusZoomFactor, boolean useFocusDimmer)

Constructs a VerticalGridPresenter with the given parameters.

Public methods

final boolean areChildRoundedCornersEnabled()

Returns true if rounded corners are enabled for children of this row.

final void enableChildRoundedCorners(boolean enable)

Enables or disabled rounded corners on children of this row.

final int getFocusZoomFactor()

Returns the zoom factor used for focus highlighting.

final boolean getKeepChildForeground()

Returns true if keeps foreground of child of this grid, the foreground will not be used for overlay color.

int getNumberOfColumns()

Returns the number of columns in the vertical grid.

final OnItemViewClickedListener getOnItemViewClickedListener()

Returns the item clicked listener.

final OnItemViewSelectedListener getOnItemViewSelectedListener()

Returns the item selected listener.

final boolean getShadowEnabled()

Returns true if child shadow is enabled.

final boolean isFocusDimmerUsed()

Returns true if the focus dimmer is used for focus highlighting; false otherwise.

boolean isUsingDefaultShadow()

Default implementation returns true if SDK version >= 21, shadow (either static or z-order based) will be applied to each individual child of VerticalGridView.

boolean isUsingZOrder(Context context)

Returns true if SDK >= L, where Z shadow is enabled so that Z order is enabled on each child of vertical grid.

void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item)

Binds a View to an item.

final VerticalGridPresenter.ViewHolder onCreateViewHolder(ViewGroup parent)

Creates a new View.

void onUnbindViewHolder(Presenter.ViewHolder viewHolder)

Unbinds a View from an item.

void setEntranceTransitionState(VerticalGridPresenter.ViewHolder holder, boolean afterEntrance)

Changes the visibility of views.

final void setKeepChildForeground(boolean keep)

Set if keeps foreground of child of this grid, the foreground will not be used for overlay color.

void setNumberOfColumns(int numColumns)

Sets the number of columns in the vertical grid.

final void setOnItemViewClickedListener(OnItemViewClickedListener listener)

Sets the item clicked listener.

final void setOnItemViewSelectedListener(OnItemViewSelectedListener listener)

Sets the item selected listener.

final void setShadowEnabled(boolean enabled)

Enable or disable child shadow.

Protected methods

VerticalGridPresenter.ViewHolder createGridViewHolder(ViewGroup parent)

Subclass may override this to inflate a different layout.

ShadowOverlayHelper.Options createShadowOverlayOptions()

Create ShadowOverlayHelper Options.

void initializeGridViewHolder(VerticalGridPresenter.ViewHolder vh)

Called after a VerticalGridPresenter.ViewHolder is created.

Inherited methods

Public constructors

VerticalGridPresenter

added in version 1.0.0
public VerticalGridPresenter ()

Constructs a VerticalGridPresenter with defaults. Uses FocusHighlight.ZOOM_FACTOR_MEDIUM for focus zooming and enabled dimming on focus.

VerticalGridPresenter

added in version 1.0.0
public VerticalGridPresenter (int focusZoomFactor)

Constructs a VerticalGridPresenter with the given parameters.

Parameters
focusZoomFactor int: Controls the zoom factor used when an item view is focused. One of FocusHighlight.ZOOM_FACTOR_NONE, FocusHighlight.ZOOM_FACTOR_SMALL, FocusHighlight.ZOOM_FACTOR_XSMALL, FocusHighlight.ZOOM_FACTOR_MEDIUM, FocusHighlight.ZOOM_FACTOR_LARGE enabled dimming on focus.

VerticalGridPresenter

added in version 1.0.0
public VerticalGridPresenter (int focusZoomFactor, 
                boolean useFocusDimmer)

Constructs a VerticalGridPresenter with the given parameters.

Parameters
focusZoomFactor int: Controls the zoom factor used when an item view is focused. One of FocusHighlight.ZOOM_FACTOR_NONE, FocusHighlight.ZOOM_FACTOR_SMALL, FocusHighlight.ZOOM_FACTOR_XSMALL, FocusHighlight.ZOOM_FACTOR_MEDIUM, FocusHighlight.ZOOM_FACTOR_LARGE

useFocusDimmer boolean: determines if the FocusHighlighter will use the dimmer

Public methods

areChildRoundedCornersEnabled

added in version 1.0.0
public final boolean areChildRoundedCornersEnabled ()

Returns true if rounded corners are enabled for children of this row.

Returns
boolean

enableChildRoundedCorners

added in version 1.0.0
public final void enableChildRoundedCorners (boolean enable)

Enables or disabled rounded corners on children of this row. Supported on Android SDK >= L.

Parameters
enable boolean

getFocusZoomFactor

added in version 1.0.0
public final int getFocusZoomFactor ()

Returns the zoom factor used for focus highlighting.

Returns
int

getKeepChildForeground

added in version 1.0.0
public final boolean getKeepChildForeground ()

Returns true if keeps foreground of child of this grid, the foreground will not be used for overlay color. Default value is true.

Returns
boolean True if keeps foreground of child of this grid.

getNumberOfColumns

added in version 1.0.0
public int getNumberOfColumns ()

Returns the number of columns in the vertical grid.

Returns
int

getOnItemViewClickedListener

added in version 1.0.0
public final OnItemViewClickedListener getOnItemViewClickedListener ()

Returns the item clicked listener.

Returns
OnItemViewClickedListener

getOnItemViewSelectedListener

added in version 1.0.0
public final OnItemViewSelectedListener getOnItemViewSelectedListener ()

Returns the item selected listener.

Returns
OnItemViewSelectedListener

getShadowEnabled

added in version 1.0.0
public final boolean getShadowEnabled ()

Returns true if child shadow is enabled. This is not only for enable/disable default shadow implementation but also subclass must respect this flag.

Returns
boolean

isFocusDimmerUsed

added in version 1.0.0
public final boolean isFocusDimmerUsed ()

Returns true if the focus dimmer is used for focus highlighting; false otherwise.

Returns
boolean

isUsingDefaultShadow

added in version 1.0.0
public boolean isUsingDefaultShadow ()

Default implementation returns true if SDK version >= 21, shadow (either static or z-order based) will be applied to each individual child of VerticalGridView. Subclass may return false to disable default implementation of shadow and provide its own.

Returns
boolean

isUsingZOrder

added in version 1.0.0
public boolean isUsingZOrder (Context context)

Returns true if SDK >= L, where Z shadow is enabled so that Z order is enabled on each child of vertical grid. If subclass returns false in isUsingDefaultShadow() and does not use Z-shadow on SDK >= L, it should override isUsingZOrder() return false.

Parameters
context Context

Returns
boolean

onBindViewHolder

added in version 1.0.0
public void onBindViewHolder (Presenter.ViewHolder viewHolder, 
                Object item)

Binds a View to an item.

Parameters
viewHolder Presenter.ViewHolder

item Object

onCreateViewHolder

added in version 1.0.0
public final VerticalGridPresenter.ViewHolder onCreateViewHolder (ViewGroup parent)

Creates a new View.

Parameters
parent ViewGroup

Returns
VerticalGridPresenter.ViewHolder

onUnbindViewHolder

added in version 1.0.0
public void onUnbindViewHolder (Presenter.ViewHolder viewHolder)

Unbinds a View from an item. Any expensive references may be released here, and any fields that are not bound for every item should be cleared here.

Parameters
viewHolder Presenter.ViewHolder

setEntranceTransitionState

added in version 1.0.0
public void setEntranceTransitionState (VerticalGridPresenter.ViewHolder holder, 
                boolean afterEntrance)

Changes the visibility of views. The entrance transition will be run against the views that change visibilities. This method is called by the fragment, it should not be called directly by the application.

Parameters
holder VerticalGridPresenter.ViewHolder: The ViewHolder for the vertical grid.

afterEntrance boolean: true if children of vertical grid participating in entrance transition should be set to visible, false otherwise.

setKeepChildForeground

added in version 1.0.0
public final void setKeepChildForeground (boolean keep)

Set if keeps foreground of child of this grid, the foreground will not be used for overlay color. Default value is true.

Parameters
keep boolean: True if keep foreground of child of this grid.

setNumberOfColumns

added in version 1.0.0
public void setNumberOfColumns (int numColumns)

Sets the number of columns in the vertical grid.

Parameters
numColumns int

setOnItemViewClickedListener

added in version 1.0.0
public final void setOnItemViewClickedListener (OnItemViewClickedListener listener)

Sets the item clicked listener. OnItemViewClickedListener will override View.OnClickListener that item presenter sets during Presenter.onCreateViewHolder(ViewGroup). So in general, developer should choose one of the listeners but not both.

Parameters
listener OnItemViewClickedListener

setOnItemViewSelectedListener

added in version 1.0.0
public final void setOnItemViewSelectedListener (OnItemViewSelectedListener listener)

Sets the item selected listener. Since this is a grid the row parameter is always null.

Parameters
listener OnItemViewSelectedListener

setShadowEnabled

added in version 1.0.0
public final void setShadowEnabled (boolean enabled)

Enable or disable child shadow. This is not only for enable/disable default shadow implementation but also subclass must respect this flag.

Parameters
enabled boolean

Protected methods

createGridViewHolder

added in version 1.0.0
protected VerticalGridPresenter.ViewHolder createGridViewHolder (ViewGroup parent)

Subclass may override this to inflate a different layout.

Parameters
parent ViewGroup

Returns
VerticalGridPresenter.ViewHolder

createShadowOverlayOptions

added in version 1.0.0
protected ShadowOverlayHelper.Options createShadowOverlayOptions ()

Create ShadowOverlayHelper Options. Subclass may override. e.g. return new ShadowOverlayHelper.Options().roundedCornerRadius(10);

Returns
ShadowOverlayHelper.Options The options to be used for shadow, overlay and rounded corner.

initializeGridViewHolder

added in version 1.0.0
protected void initializeGridViewHolder (VerticalGridPresenter.ViewHolder vh)

Called after a VerticalGridPresenter.ViewHolder is created. Subclasses may override this method and start by calling super.initializeGridViewHolder(ViewHolder).

Parameters
vh VerticalGridPresenter.ViewHolder: The ViewHolder to initialize for the vertical grid.