#android #react-native #touchableopacity
#Android #react-native #touchableopacity
Вопрос:
Осязаемая прозрачность отлично работает на IOS, но не работает на Android.
TouchableOpacity
импортируется из react-native
Мой код :
<View style = { styles.view}>
<TouchableOpacity style = {styles.button} onPress={() => this.props.play}>
<Text style = { styles.buttonText}>Play</Text>
</TouchableOpacity>
</View>
Моя таблица стилей:
button:{
backgroundColor : '#2F2440',
padding : 10,
borderRadius : 10,
marginTop : RFValue(305),
marginLeft : RFValue(20),
marginRight : RFValue(30),
width : RFValue(200),
height : RFValue(40),
alignSelf : 'baseline',
},
Комментарии:
1. Что означает «не работает»? Нам нужно больше информации
2. Откуда вы импортируете
TouchableOpacity
?react-native-gesture-handler
илиreact-native
?3. Что означает
this.props.play
вызовonpress
?! Я думаю, вам следует вызвать там функцию, чтобы проверить правильность работы вашей кнопки, добавитьConsole.log("test");
и проверить, вызвана она или нет.4. Когда я касаюсь осязаемой непрозрачности, она просто не нажимается.
5.
TouchableOpacity
импортируется изreact-native
.
Ответ №1:
Вам нужно заменить onPress={() => this.props.play}
с onPress={() => this.props.play()}
помощью или этого onPress={this.props.play}
Комментарии:
1. Хорошо, можете ли вы подтвердить, действительно ли this.props.play() работает, вызывая его снаружи, а не по щелчку или нажатию? Может быть, после установки компонента?
2. Кроме того, как было предложено @Meisam Saba, console.log что-нибудь печатает?
3. @Meisam Саба, консоль. журнал напечатал «тест».
4. тогда можете ли вы попробовать мое предложение вызвать this.props.play() в другом месте и посмотреть, действительно ли это работает?
5. Не могли бы вы подсказать, как это сделать?