Please note that the contents of this offline web site may be out of date. To access the most recent documentation visit the online version .
Note that links that point to online resources are green in color and will open in a new window.
We would love it if you could give us feedback about this material by filling this form (You have to be online to fill it)
Android APIs
public static class

ViewGroup.MarginLayoutParams

extends ViewGroup.LayoutParams
java.lang.Object
   ↳ android.view.ViewGroup.LayoutParams
     ↳ android.view.ViewGroup.MarginLayoutParams
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

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
Attribute Name Related Method Description
android:layout_marginBottom setMargins(int,int,int,int) Specifies extra space on the bottom side of this view. 
android:layout_marginEnd setMarginEnd(int) Specifies extra space on the end side of this view. 
android:layout_marginLeft setMargins(int,int,int,int) Specifies extra space on the left side of this view. 
android:layout_marginRight setMargins(int,int,int,int) Specifies extra space on the right side of this view. 
android:layout_marginStart setMarginStart(int) Specifies extra space on the start side of this view. 
android:layout_marginTop setMargins(int,int,int,int) Specifies extra space on the top side of this view. 
[Expand]
Inherited XML Attributes
From class android.view.ViewGroup.LayoutParams
[Expand]
Inherited Constants
From class android.view.ViewGroup.LayoutParams
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.
[Expand]
Inherited Fields
From class android.view.ViewGroup.LayoutParams
Public Constructors
ViewGroup.MarginLayoutParams ( Context c, AttributeSet attrs)
Creates a new set of layout parameters.
ViewGroup.MarginLayoutParams (int width, int height)
ViewGroup.MarginLayoutParams ( ViewGroup.MarginLayoutParams source)
Copy constructor.
ViewGroup.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 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.
[Expand]
Inherited Methods
From class android.view.ViewGroup.LayoutParams
From class java.lang.Object

XML Attributes

android:layout_marginBottom

Specifies extra space on the bottom side of this view. This space is outside this view's bounds.

Must 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), mm (millimeters).

This may also be a reference to a resource (in the form " @[ package :] type : name ") or theme attribute (in the form " ?[ package :][ type :] name ") containing a value of this type.

This corresponds to the global attribute resource symbol layout_marginBottom .

android:layout_marginEnd

Specifies extra space on the end side of this view. This space is outside this view's bounds.

Must 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), mm (millimeters).

This may also be a reference to a resource (in the form " @[ package :] type : name ") or theme attribute (in the form " ?[ package :][ type :] name ") containing a value of this type.

This corresponds to the global attribute resource symbol layout_marginEnd .

Related Methods

android:layout_marginLeft

Specifies extra space on the left side of this view. This space is outside this view's bounds.

Must 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), mm (millimeters).

This may also be a reference to a resource (in the form " @[ package :] type : name ") or theme attribute (in the form " ?[ package :][ type :] name ") containing a value of this type.

This corresponds to the global attribute resource symbol layout_marginLeft .

android:layout_marginRight

Specifies extra space on the right side of this view. This space is outside this view's bounds.

Must 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), mm (millimeters).

This may also be a reference to a resource (in the form " @[ package :] type : name ") or theme attribute (in the form " ?[ package :][ type :] name ") containing a value of this type.

This corresponds to the global attribute resource symbol layout_marginRight .

android:layout_marginStart

Specifies extra space on the start side of this view. This space is outside this view's bounds.

Must 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), mm (millimeters).

This may also be a reference to a resource (in the form " @[ package :] type : name ") or theme attribute (in the form " ?[ package :][ type :] name ") containing a value of this type.

This corresponds to the global attribute resource symbol layout_marginStart .

Related Methods

android:layout_marginTop

Specifies extra space on the top side of this view. This space is outside this view's bounds.

Must 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), mm (millimeters).

This may also be a reference to a resource (in the form " @[ package :] type : name ") or theme attribute (in the form " ?[ package :][ type :] name ") containing a value of this type.

This corresponds to the global attribute resource symbol layout_marginTop .

Fields

public int bottomMargin

Added in API level 1

The bottom margin in pixels of the child. Call setLayoutParams(LayoutParams) after reassigning a new value to this field.

public int leftMargin

Added in API level 1

The left margin in pixels of the child. Call setLayoutParams(LayoutParams) after reassigning a new value to this field.

public int rightMargin

Added in API level 1

The right margin in pixels of the child. Call setLayoutParams(LayoutParams) after reassigning a new value to this field.

public int topMargin

Added in API level 1

The top margin in pixels of the child. Call setLayoutParams(LayoutParams) after reassigning a new value to this field.

Public Constructors

public ViewGroup.MarginLayoutParams ( Context c, AttributeSet attrs)

Added in API level 1

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

Parameters
c the application environment
attrs the set of attributes from which to extract the layout parameters' values

public ViewGroup.MarginLayoutParams (int width, int height)

Added in API level 1

public ViewGroup.MarginLayoutParams ( ViewGroup.MarginLayoutParams source)

Added in API level 1

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

Parameters
source The layout params to copy from.

public ViewGroup.MarginLayoutParams ( ViewGroup.LayoutParams source)

Added in API level 1

Public Methods

public int getLayoutDirection ()

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

Returns
  • the layout direction.

public int getMarginEnd ()

Returns the end margin in pixels.

Related XML Attributes
Returns
  • the end margin in pixels.

public int getMarginStart ()

Returns the start margin in pixels.

Related XML Attributes
Returns
  • the start margin in pixels.

public boolean isMarginRelative ()

Check if margins are relative.

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

public void resolveLayoutDirection (int layoutDirection)

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

Parameters
layoutDirection the direction of the layout LAYOUT_DIRECTION_LTR LAYOUT_DIRECTION_RTL

public void setLayoutDirection (int layoutDirection)

Set the layout direction

Parameters
layoutDirection the layout direction. Should be either LAYOUT_DIRECTION_LTR or LAYOUT_DIRECTION_RTL .

public void setMarginEnd (int end)

Sets the relative end margin.

Related XML Attributes
Parameters
end the end margin size

public void setMarginStart (int start)

Sets the relative start margin.

Related XML Attributes
Parameters
start the start margin size

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

Added in API level 1

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

Parameters
left the left margin size
top the top margin size
right the right margin size
bottom the bottom margin size