ViewGroup.MarginLayoutParams

public static class ViewGroup.MarginLayoutParams
extends ViewGroup.LayoutParams

java.lang.Object
   ↳ android.view.ViewGroup.LayoutParams
     ↳ android.view.ViewGroup.MarginLayoutParams


Per-child layout information for layouts that support margins. See ViewGroup Margin Layout Attributes for a list of all child view attributes that this class supports.

Summary

XML attributes

android:layout_margin Specifies extra space on the left, top, right and bottom sides of this view. 
android:layout_marginBottom Specifies extra space on the bottom side of this view. 
android:layout_marginEnd Specifies extra space on the end side of this view. 
android:layout_marginHorizontal Specifies extra space on the left and right sides of this view. 
android:layout_marginLeft Specifies extra space on the left side of this view. 
android:layout_marginRight Specifies extra space on the right side of this view. 
android:layout_marginStart Specifies extra space on the start side of this view. 
android:layout_marginTop Specifies extra space on the top side of this view. 
android:layout_marginVertical Specifies extra space on the top and bottom sides of this view. 

Inherited XML attributes

Inherited constants

Fields

public int bottomMargin

The bottom margin in pixels of the child.

public int leftMargin

The left margin in pixels of the child.

public int rightMargin

The right margin in pixels of the child.

public int topMargin

The top margin in pixels of the child.

Inherited fields

Public constructors

MarginLayoutParams(Context c, AttributeSet attrs)

Creates a new set of layout parameters.

MarginLayoutParams(int width, int height)
MarginLayoutParams(ViewGroup.MarginLayoutParams source)

Copy constructor.

MarginLayoutParams(ViewGroup.LayoutParams source)

Public methods

int getLayoutDirection()

Retuns the layout direction.

int getMarginEnd()

Returns the end margin in pixels.

int getMarginStart()

Returns the start margin in pixels.

boolean isMarginRelative()

Check if margins are relative.

void resolveLayoutDirection(int layoutDirection)

This will be called by View.requestLayout().

void setLayoutDirection(int layoutDirection)

Set the layout direction

void setMarginEnd(int end)

Sets the relative end margin.

void setMarginStart(int start)

Sets the relative start margin.

void setMargins(int left, int top, int right, int bottom)

Sets the margins, in pixels.

Inherited methods

XML attributes

android:layout_margin

Specifies extra space on the left, top, right and bottom sides of this view. If both layout_margin and any of layout_marginLeft, layout_marginRight, layout_marginStart, layout_marginEnd, layout_marginTop, and layout_marginBottom are also specified, the layout_margin value will take precedence over the edge-specific values. This space is outside this view's bounds. Margin values should be positive.

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:layout_marginBottom

Specifies extra space on the bottom side of this view. This space is outside this view's bounds. Margin values should be positive.

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).

Related methods:

android:layout_marginEnd

Specifies extra space on the end side of this view. This space is outside this view's bounds. Margin values should be positive.

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).

Related methods:

android:layout_marginHorizontal

Specifies extra space on the left and right sides of this view. Specifying layout_marginHorizontal is equivalent to specifying layout_marginLeft and layout_marginRight. If both layout_marginHorizontal and either/both of layout_marginLeft and layout_marginRight are also specified, the layout_marginHorizontal value will take precedence over the edge-specific values. Also, layout_margin will always take precedence over any of these values, including layout_marginHorizontal. This space is outside this view's bounds. Margin values should be positive.

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:layout_marginLeft

Specifies extra space on the left side of this view. This space is outside this view's bounds. Margin values should be positive.

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).

Related methods:

android:layout_marginRight

Specifies extra space on the right side of this view. This space is outside this view's bounds. Margin values should be positive.

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).

Related methods:

android:layout_marginStart

Specifies extra space on the start side of this view. This space is outside this view's bounds. Margin values should be positive.

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).

Related methods:

android:layout_marginTop

Specifies extra space on the top side of this view. This space is outside this view's bounds. Margin values should be positive.

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).

Related methods:

android:layout_marginVertical

Specifies extra space on the top and bottom sides of this view. Specifying layout_marginVertical is equivalent to specifying layout_marginTop and layout_marginBottom with that same value. If both layout_marginVertical and either/both of layout_marginTop and layout_marginBottom are also specified, the layout_marginVertical value will take precedence over the edge-specific values. Also, layout_margin will always take precedence over any of these values, including layout_marginVertical. This space is outside this view's bounds. Margin values should be positive.

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).

Fields

bottomMargin

Added in API level 1
public int bottomMargin

The bottom margin in pixels of the child. Margin values should be positive. Call ViewGroup#setLayoutParams(LayoutParams) after reassigning a new value to this field.

leftMargin

Added in API level 1
public int leftMargin

The left margin in pixels of the child. Margin values should be positive. Call ViewGroup#setLayoutParams(LayoutParams) after reassigning a new value to this field.

rightMargin

Added in API level 1
public int rightMargin

The right margin in pixels of the child. Margin values should be positive. Call ViewGroup#setLayoutParams(LayoutParams) after reassigning a new value to this field.

topMargin

Added in API level 1
public int topMargin

The top margin in pixels of the child. Margin values should be positive. Call ViewGroup#setLayoutParams(LayoutParams) after reassigning a new value to this field.

Public constructors

MarginLayoutParams

Added in API level 1
public MarginLayoutParams (Context c, 
                AttributeSet attrs)

Creates a new set of layout parameters. The values are extracted from the supplied attributes set and context.

Parameters
c Context: the application environment

attrs AttributeSet: the set of attributes from which to extract the layout parameters' values

MarginLayoutParams

Added in API level 1
public MarginLayoutParams (int width, 
                int height)

Parameters
width int

height int

MarginLayoutParams

Added in API level 1
public MarginLayoutParams (ViewGroup.MarginLayoutParams source)

Copy constructor. Clones the width, height and margin values of the source.

Parameters
source ViewGroup.MarginLayoutParams: The layout params to copy from.

MarginLayoutParams

Added in API level 1
public MarginLayoutParams (ViewGroup.LayoutParams source)

Parameters
source ViewGroup.LayoutParams

Public methods

getLayoutDirection

Added in API level 17
public int getLayoutDirection ()

Retuns the layout direction. Can be either View#LAYOUT_DIRECTION_LTR or View#LAYOUT_DIRECTION_RTL.

Returns
int the layout direction.

getMarginEnd

Added in API level 17
public int getMarginEnd ()

Returns the end margin in pixels.

Related XML Attributes:

Returns
int the end margin in pixels.

getMarginStart

Added in API level 17
public int getMarginStart ()

Returns the start margin in pixels.

Related XML Attributes:

Returns
int the start margin in pixels.

isMarginRelative

Added in API level 17
public boolean isMarginRelative ()

Check if margins are relative.

Related XML Attributes:

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

resolveLayoutDirection

Added in API level 17
public void resolveLayoutDirection (int layoutDirection)

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

Parameters
layoutDirection int: the direction of the layout View#LAYOUT_DIRECTION_LTR View#LAYOUT_DIRECTION_RTL

setLayoutDirection

Added in API level 17
public void setLayoutDirection (int layoutDirection)

Set the layout direction

Parameters
layoutDirection int: the layout direction. Should be either View#LAYOUT_DIRECTION_LTR or View#LAYOUT_DIRECTION_RTL.

setMarginEnd

Added in API level 17
public void setMarginEnd (int end)

Sets the relative end margin. Margin values should be positive.

Related XML Attributes:

Parameters
end int: the end margin size

setMarginStart

Added in API level 17
public void setMarginStart (int start)

Sets the relative start margin. Margin values should be positive.

Related XML Attributes:

Parameters
start int: the start margin size

setMargins

Added in API level 1
public void setMargins (int left, 
                int top, 
                int right, 
                int bottom)

Sets the margins, in pixels. A call to View.requestLayout() needs to be done so that the new margins are taken into account. Left and right margins may be overridden by View.requestLayout() depending on layout direction. Margin values should be positive.

Related XML Attributes:

Parameters
left int: the left margin size

top int: the top margin size

right int: the right margin size

bottom int: the bottom margin size