added in version 24.1.0
belongs to Maven artifact


public final class ItemAlignmentFacet
extends Object


Optional facet provided by RecyclerView.Adapter or RecyclerView.ViewHolder for use in HorizontalGridView and VerticalGridView. Apps using Presenter may set facet using setFacet(Class, Object) or setFacet(Class, Object). Facet on ViewHolder has a higher priority than Presenter or Adapter.

ItemAlignmentFacet contains single or multiple ItemAlignmentFacet.ItemAlignmentDefs. First ItemAlignmentFacet.ItemAlignmentDef describes the default alignment position for ViewHolder, it also overrides the default item alignment settings on VerticalGridView and HorizontalGridView (see setItemAlignmentOffset(int) etc). One ItemAlignmentFacet can have multiple ItemAlignmentFacet.ItemAlignmentDefs, e.g. having two aligned positions when child1 gets focus or child2 gets focus. Grid view will visit focused view and its ancestors till the root of ViewHolder to match ItemAlignmentFacet.ItemAlignmentDefs' getItemAlignmentFocusViewId(). Once a match found, the ItemAlignmentFacet.ItemAlignmentDef is used to calculate alignment position.


Nested classes

class ItemAlignmentFacet.ItemAlignmentDef

Definition of an alignment position under a view. 



Value indicates that percent is not used.

Public constructors


Public methods

ItemAlignmentDef[] getAlignmentDefs()

Returns read only definitions of alignment positions.

boolean isMultiAlignment()
void setAlignmentDefs(ItemAlignmentDef[] defs)

Sets definitions of alignment positions.

Inherited methods

From class java.lang.Object