---
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 (
);
},
```
### 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 (
Touch Here
{ this.state.count !== 0 ? this.state.count: null}
)
}
}
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.