website/versioned_docs/version-0.84/touchableopacity.md
:::tip If you're looking for a more extensive and future-proof way to handle touch-based input, check out the Pressable API. :::
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 hierarchy. Be aware that this can affect layout.
import React, {useState} from 'react';
import {StyleSheet, Text, TouchableOpacity, View} from 'react-native';
import {SafeAreaView, SafeAreaProvider} from 'react-native-safe-area-context';
const App = () => {
const [count, setCount] = useState(0);
const onPress = () => setCount(prevCount => prevCount + 1);
return (
<SafeAreaProvider>
<SafeAreaView style={styles.container}>
<View style={styles.countContainer}>
<Text>Count: {count}</Text>
</View>
<TouchableOpacity style={styles.button} onPress={onPress}>
<Text>Press Here</Text>
</TouchableOpacity>
</SafeAreaView>
</SafeAreaProvider>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
paddingHorizontal: 10,
},
button: {
alignItems: 'center',
backgroundColor: '#DDDDDD',
padding: 10,
},
countContainer: {
alignItems: 'center',
padding: 10,
},
});
export default App;
Inherits TouchableWithoutFeedback Props.
style| Type |
|---|
| View.style |
activeOpacityDetermines what the opacity of the wrapped view should be when touch is active. Defaults to 0.2.
| Type |
|---|
| number |
hasTVPreferredFocus <div className="label ios">iOS</div>(Apple TV only) TV preferred focus (see documentation for the View component).
| Type |
|---|
| bool |
nextFocusDown <div className="label android">Android</div>TV next focus down (see documentation for the View component).
| Type |
|---|
| number |
nextFocusForward <div className="label android">Android</div>TV next focus forward (see documentation for the View component).
| Type |
|---|
| number |
nextFocusLeft <div className="label android">Android</div>TV next focus left (see documentation for the View component).
| Type |
|---|
| number |
nextFocusRight <div className="label android">Android</div>TV next focus right (see documentation for the View component).
| Type |
|---|
| number |
nextFocusUp <div className="label android">Android</div>TV next focus up (see documentation for the View component).
| Type |
|---|
| number |
refA ref setter that will be assigned an element node when mounted.