react-native/docs/dimensions.md

103 lines
1.8 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
static set(dims)
```
This should only be called from native code by sending the
didUpdateDimensions event.
@param {object} dims Simple string-keyed object of dimensions to set
---
### `get()`
```javascript
static 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');`
@param {string} dim Name of dimension as defined when calling `set`.
@returns {Object?} Value for the dimension.
---
### `addEventListener()`
```javascript
static 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
static removeEventListener(type, handler)
```
Remove an event handler.