react-native/docs/dimensions.md

108 lines
2.0 KiB
Markdown

---
id: dimensions
title: Dimensions
layout: docs
category: APIs
permalink: docs/dimensions.html
next: easing
previous: datepickerandroid
---
### Methods
- [`set`](docs/dimensions.html#set)
- [`get`](docs/dimensions.html#get)
- [`addEventListener`](docs/dimensions.html#addeventlistener)
- [`removeEventListener`](docs/dimensions.html#removeeventlistener)
---
# Reference
## Methods
### `set()`
```javascript
Dimensions.set(dims)
```
This should only be called from native code by sending the
didUpdateDimensions event.
**Parameters:**
| Name | Type | Required | Description |
| - | - | - | - |
| dims | object | Yes | Simple string-keyed object of dimensions to set |
---
### `get()`
```javascript
Dimensions.get(dim)
```
Initial dimensions are set before `runApplication` is called so they should
be available before any other require's are run, but may be updated later.
> Note:
> Although dimensions are available immediately, they may change (e.g due to device rotation) so any rendering logic or styles that depend on these constants should try to call this function on every render, rather than caching the value (for example, using inline styles rather than setting a value in a `StyleSheet`).
Example: `var {height, width} = Dimensions.get('window');`
**Parameters:**
| Name | Type | Required | Description |
| - | - | - | - |
| dim | string | Yes | Name of dimension as defined when calling `set`. |
---
### `addEventListener()`
```javascript
Dimensions.addEventListener(type, handler)
```
Add an event handler. Supported events:
- `change`: Fires when a property within the `Dimensions` object changes. The argument
to the event handler is an object with `window` and `screen` properties whose values
are the same as the return values of `Dimensions.get('window')` and
`Dimensions.get('screen')`, respectively.
---
### `removeEventListener()`
```javascript
Dimensions.removeEventListener(type, handler)
```
Remove an event handler.