react-native/docs/touchableopacity.md
Héctor Ramos 9ec9567390 Flatten jsdocs to markdown plaintext
Differential Revision: D6261799

fbshipit-source-id: 269e151c5d136c1d508d9f2a060c0c670d0fe0f2
2017-11-07 16:46:52 -08:00

173 lines
2.8 KiB
Markdown

---
id: touchableopacity
title: TouchableOpacity
layout: docs
category: components
permalink: docs/touchableopacity.html
next: touchablewithoutfeedback
previous: touchablenativefeedback
---
A wrapper for making views respond properly to touches.
On press down, the opacity of the wrapped view is decreased, dimming it.
Opacity is controlled by wrapping the children in an Animated.View, which is
added to the view hiearchy. Be aware that this can affect layout.
Example:
```
renderButton: function() {
return (
<TouchableOpacity onPress={this._onPressButton}>
<Image
style={styles.button}
source={require('./myButton.png')}
/>
</TouchableOpacity>
);
},
```
### Example
```ReactNativeWebPlayer
import React, { Component } from 'react'
import {
AppRegistry,
StyleSheet,
TouchableOpacity,
Text,
View,
} from 'react-native'
class App extends Component {
constructor(props) {
super(props)
this.state = { count: 0 }
}
onPress = () => {
this.setState({
count: this.state.count+1
})
}
render() {
return (
<View style={styles.container}>
<TouchableOpacity
style={styles.button}
onPress={this.onPress}
>
<Text> Touch Here </Text>
</TouchableOpacity>
<View style={[styles.countContainer]}>
<Text style={[styles.countText]}>
{ this.state.count !== 0 ? this.state.count: null}
</Text>
</View>
</View>
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
paddingHorizontal: 10
},
button: {
alignItems: 'center',
backgroundColor: '#DDDDDD',
padding: 10
},
countContainer: {
alignItems: 'center',
padding: 10
},
countText: {
color: '#FF00FF'
}
})
AppRegistry.registerComponent('App', () => App)
```
### Props
* [TouchableWithoutFeedback props...](docs/touchablewithoutfeedback.html#props)
- [`activeOpacity`](docs/touchableopacity.html#activeopacity)
- [`tvParallaxProperties`](docs/touchableopacity.html#tvparallaxproperties)
- [`hasTVPreferredFocus`](docs/touchableopacity.html#hastvpreferredfocus)
### Methods
- [`setOpacityTo`](docs/touchableopacity.html#setopacityto)
---
# Reference
## Props
### `activeOpacity`
Determines what the opacity of the wrapped view should be when touch is
active. Defaults to 0.2.
| Type | Required |
| - | - |
| number | No |
---
### `tvParallaxProperties`
Apple TV parallax effects
| Type | Required |
| - | - |
| object | No |
---
### `hasTVPreferredFocus`
*(Apple TV only)* TV preferred focus (see documentation for the View component).
| Type | Required | Platform |
| - | - | - |
| bool | No | iOS |
## Methods
### `setOpacityTo()`
```javascript
setOpacityTo(value: number, duration: number)
```
Animate the touchable to a new opacity.