MarginLayoutParamsCompat

public final class MarginLayoutParamsCompat
extends Object

java.lang.Object
   ↳ androidx.core.view.MarginLayoutParamsCompat


Helper for accessing API features in MarginLayoutParams in a backwards compatible way.

Summary

Public methods

static int getLayoutDirection(ViewGroup.MarginLayoutParams lp)

Returns the layout direction.

static int getMarginEnd(ViewGroup.MarginLayoutParams lp)

Get the relative ending margin that was set.

static int getMarginStart(ViewGroup.MarginLayoutParams lp)

Get the relative starting margin that was set.

static boolean isMarginRelative(ViewGroup.MarginLayoutParams lp)

Check if margins are relative.

static void resolveLayoutDirection(ViewGroup.MarginLayoutParams lp, int layoutDirection)

This will be called by View.requestLayout().

static void setLayoutDirection(ViewGroup.MarginLayoutParams lp, int layoutDirection)

Set the layout direction.

static void setMarginEnd(ViewGroup.MarginLayoutParams lp, int marginEnd)

Set the relative end margin.

static void setMarginStart(ViewGroup.MarginLayoutParams lp, int marginStart)

Set the relative start margin.

Inherited methods

Public methods

getLayoutDirection

public static int getLayoutDirection (ViewGroup.MarginLayoutParams lp)

Returns the layout direction. Can be either ViewCompat.LAYOUT_DIRECTION_LTR or ViewCompat.LAYOUT_DIRECTION_RTL.

Parameters
lp ViewGroup.MarginLayoutParams

Returns
int the layout direction.

getMarginEnd

public static int getMarginEnd (ViewGroup.MarginLayoutParams lp)

Get the relative ending margin that was set.

On platform versions supporting bidirectional text and layouts this value will be resolved into the LayoutParams object's left or right margin as appropriate when the associated View is attached to a window or when the layout direction of that view changes.

Parameters
lp ViewGroup.MarginLayoutParams: LayoutParams to query

Returns
int the margin along the ending edge in pixels

getMarginStart

public static int getMarginStart (ViewGroup.MarginLayoutParams lp)

Get the relative starting margin that was set.

On platform versions supporting bidirectional text and layouts this value will be resolved into the LayoutParams object's left or right margin as appropriate when the associated View is attached to a window or when the layout direction of that view changes.

Parameters
lp ViewGroup.MarginLayoutParams: LayoutParams to query

Returns
int the margin along the starting edge in pixels

isMarginRelative

public static boolean isMarginRelative (ViewGroup.MarginLayoutParams lp)

Check if margins are relative.

Parameters
lp ViewGroup.MarginLayoutParams

Returns
boolean true if either marginStart or marginEnd has been set.

resolveLayoutDirection

public static void resolveLayoutDirection (ViewGroup.MarginLayoutParams lp, 
                int layoutDirection)

This will be called by View.requestLayout(). Left and Right margins may be overridden depending on layout direction.

Parameters
lp ViewGroup.MarginLayoutParams

layoutDirection int

setLayoutDirection

public static void setLayoutDirection (ViewGroup.MarginLayoutParams lp, 
                int layoutDirection)

Set the layout direction.

Parameters
lp ViewGroup.MarginLayoutParams

layoutDirection int: the layout direction. Should be either ViewCompat.LAYOUT_DIRECTION_LTR or ViewCompat.LAYOUT_DIRECTION_RTL.

setMarginEnd

public static void setMarginEnd (ViewGroup.MarginLayoutParams lp, 
                int marginEnd)

Set the relative end margin.

On platform versions supporting bidirectional text and layouts this value will be resolved into the LayoutParams object's left or right margin as appropriate when the associated View is attached to a window or when the layout direction of that view changes.

Parameters
lp ViewGroup.MarginLayoutParams: LayoutParams to query

marginEnd int: the desired end margin in pixels

setMarginStart

public static void setMarginStart (ViewGroup.MarginLayoutParams lp, 
                int marginStart)

Set the relative start margin.

On platform versions supporting bidirectional text and layouts this value will be resolved into the LayoutParams object's left or right margin as appropriate when the associated View is attached to a window or when the layout direction of that view changes.

Parameters
lp ViewGroup.MarginLayoutParams: LayoutParams to query

marginStart int: the desired start margin in pixels