Class “LayoutData”
Provides layout information for a widget to be used by the parent widget when determining its size and position. See also LayoutDataValue
| Type: | LayoutData extends Object |
| Constructor: | public |
| Singleton: | No |
| Namespace: | tabris |
| Direct subclasses: | None |
| JSX Support: | No |
Examples
JavaScript
import {LayoutData} from 'tabris';
const layoutData = LayoutData.from({left: 16, right: '20%', height: 128});
console.log(layoutData.height); // "128"
Constructor
new LayoutData(parameters)
| Parameter | Type | Description |
|---|---|---|
| parameters | LayoutDataProperties |
An object containing some or all LayoutData properties. Constraints have to be instances of the Constraint class. Any omitted property defaults to ‘auto’. |
Methods
equals(value)
Tests if the given value is a LayoutData instance that is deeply equal to this one.
| Parameter | Type | Description |
|---|---|---|
| value | LayoutData |
Returns: boolean
toString()
Returns a string representation of LayoutData.
Returns: string
Static Methods
from(layoutDataValue)
Creates a new instance of LayoutData using any valid layoutData expression. For any other value, including null, the method throws.
| Parameter | Type | Description |
|---|---|---|
| layoutDataValue | LayoutDataValue |
The value to create |
Returns: LayoutData
Properties
baseline
The vertical position of the widget’s baseline relative to a sibling widget.
| Type: | SiblingReference | 'auto' |
| Default: | 'auto' |
| Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
bottom
The position of the widget’s bottom edge relative to the parent or a sibling widget. Must not be negative.
| Type: | Constraint | 'auto' |
| Default: | 'auto' |
| Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
centerX
The horizontal position of the widget’s center relative to the parent’s center.
| Type: | Offset | 'auto' |
| Default: | 'auto' |
| Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
centerY
The vertical position of the widget’s center relative to the parent’s center.
| Type: | Offset | 'auto' |
| Default: | 'auto' |
| Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
height
The height of the widget.
| Type: | Dimension | 'auto' |
| Default: | 'auto' |
| Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
left
The position of the widget’s left edge relative to the parent or a sibling widget. Must not be negative.
| Type: | Constraint | 'auto' |
| Default: | 'auto' |
| Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
right
The position of the widget’s right edge relative to the parent or a sibling widget. Must not be negative.
| Type: | Constraint | 'auto' |
| Default: | 'auto' |
| Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
top
The position of the widget’s top edge relative to the parent or a sibling widget. Must not be negative.
| Type: | Constraint | 'auto' |
| Default: | 'auto' |
| Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
width
The width of the widget.
| Type: | Dimension | 'auto' |
| Default: | 'auto' |
| Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
Static Properties
center
An instance of LayoutData that centers a widget horizontally and vertically. Equivalent to LayoutData.from({centerX: 0, centerY: 0})
| Type: | LayoutData |
| Settable: | No |
next
A SiblingReference indicating the next widget in the list of children attached to the same parent. Used by the baseline property. An alias of Constraint.next.
| Type: | typeof Constraint.next |
| Settable: | No |
prev
A SiblingReference indicating the previous widget in the list of children attached to the same parent. Used by the baseline property. An alias of Constraint.next.
| Type: | typeof Constraint.prev |
| Settable: | No |
stretch
An instance of LayoutData that makes a widget fill the inner width and height of its parent (padding excluded). Equivalent to LayoutData.from({left: 0, top: 0, right: 0, bottom: 0}).
| Type: | LayoutData |
| Settable: | No |
stretchX
An instance of LayoutData that makes a widget as wide as its parent (padding excluded). Equivalent to LayoutData.from({left: 0, right: 0}).
| Type: | LayoutData |
| Settable: | No |
stretchY
An instance of LayoutData that makes a widget as high as its parent (padding excluded). Equivalent to LayoutData.from({top: 0, bottom: 0}).
| Type: | LayoutData |
| Settable: | No |
Related Types
LayoutDataValue
- JavaScript Type:
tabris.LayoutData,Object - TypeScript Type:
tabris.LayoutDataValue
A LayoutDataValue provides layout information for a widget to be used its parent when determining its size and position. It allows various expressions that can all be used in place of a LayoutData instance for convenience. All API that accepts these expressions will convert them to a LayoutData object.
In addition to LayoutData instances LayoutDataValue includes:
LayoutDataLikeObject
- JavaScript Type:
Object - TypeScript Type:
tabris.LayoutDataLikeObject
interface LayoutDataLikeObject {
left?: 'auto' | ConstraintValue;
right?: 'auto' | ConstraintValue;
top?: 'auto' | ConstraintValue;
bottom?: 'auto' | ConstraintValue;
centerX?: 'auto' | Offset | true;
centerY?: 'auto' | Offset | true;
baseline?: 'auto' | SiblingReferenceValue | true;
width?: 'auto' | Dimension;
height?: 'auto' | Dimension;
}
A plain object implementing the same properties as LayoutData.
An instance of LayoutData is a valid LayoutDataLikeObject, but in LayoutDataLikeObject all properties are optional and less strict. For example left, top, right and bottom accept ConstraintValue (e.g. a number) in place of a Constraint instance.
A value of true is also accepted for all fields except width and height. For left, right, top, bottom, centerX and centerY it means 0. For baseline it means 'prev()'.
Example:
widget.layoutData = {
baseline: 'prev()',
left: 10,
width: 100
};
widget.layoutData = {
top: '25%',
centerX: true
};
LayoutDataString
There are 4 alias strings that can be used in place of a LayoutData object:
| Alias | Equivalent |
|---|---|
'center' |
{centerX: 0, centerY: 0} |
'stretch' |
{left: 0, top: 0, right: 0, bottom: 0} |
'stretchX' |
{left: 0, right: 0} |
'stretchY' |
{top: 0, bottom: 0} |
widget.layoutData = 'stretch';