我有一个正在消失的标题,我想在屏幕上的任意位置点击一次。但是如果我将整个<View>
包装在<TouchableX>
组件中,则PanResponder停止工作。这是否有黑客入侵?在整个屏幕上获取触摸事件
10
A
回答
2
您不需要使用Touchable
组件进行变形。
将下一个道具添加到根View
。
onResponderGrant - 让View
手柄触摸
onStartShouldSetResponder - 让View
手柄开始
+0
感谢您的优雅解决方案。任何人通过谷歌来到这里,我实现了触摸处理程序,并且还添加了100ms的延迟来检测用户是否真的只想触摸屏幕。 – amit
+1
我很新来回应本地,但如果可能你可以写一个这样的例子吗? – CodeDoctorJL
0
这将是一个onResponderGrant
import React, { Component } from 'react';
import {
Platform,
StyleSheet,
Text,
View,
TouchableOpacity
} from 'react-native';
const instructions = Platform.select({
ios: 'Press Cmd+R to reload,\n' +
'Cmd+D or shake for dev menu',
android: 'Double tap R on your keyboard to reload,\n' +
'Shake or press menu button for dev menu',
});
export default class App extends Component<{}> {
constructor() {
super();
this.startTouch = this.startTouch.bind(this);
this.stopTouch = this.stopTouch.bind(this);
this.onTouchE = this.onTouchE.bind(this);
}
startTouch() {
console.debug("You start so don't stop!??");
}
stopTouch() {
console.debug("Why you stop??");
}
onTouchE() {
console.debug("Touchable Opacity is working!!");
}
render() {
return (
<View style={styles.container}
onResponderGrant = {() => this.startTouch() }
onResponderRelease = {() => this.stopTouch() }
onStartShouldSetResponder = { (e) => {return true} }
>
<TouchableOpacity
onPress = {() => this.onTouchE() }
>
<Text style={styles.welcome}>
Welcome to React Native!
</Text>
</TouchableOpacity>
<Text style={styles.instructions}>
To get started, edit App.js
</Text>
<Text style={styles.instructions}>
{instructions}
</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'cornflowerblue',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
相关问题
- 1. Android - 获取屏幕触摸事件
- 2. 如何在触摸屏幕时获取服务中的事件?
- 3. 获取完整触摸区域/屏幕上的空间IOS
- 4. Android - 在触摸事件上在屏幕上绘制位图
- 5. 整个屏幕的触摸手势
- 6. 接收屏幕触摸事件
- 7. 使用屏幕键盘触摸事件
- 8. 触摸屏事件
- 9. 如何在Android屏幕关闭时捕获屏幕触摸事件?
- 10. 在任何屏幕上接收触摸事件
- 11. 在任何屏幕上检测Windows Phone的触摸事件
- 12. iPhone - 根据触摸事件在屏幕上绘图
- 13. 在iPad屏幕上检测手触摸事件
- 14. 事件触摸屏轻轻触摸
- 15. 屏幕上(触摸屏)Web键盘
- 16. 如何获得触摸坐标事件位图不是屏幕
- 17. 触摸点在屏幕上的GoogleMap SupportMapFragement
- 18. UIAlertController禁用屏幕上的所有触摸事件
- 19. iPhone触摸屏事件
- 20. 触摸屏按钮事件
- 21. 获取Windows Phone屏幕上所有当前触摸的位置
- 22. Android敬酒在某些手机上获取触摸事件,而在其他手机上获得触摸事件
- 23. 在UITextView中获取触摸事件
- 24. 在屏幕上的特定物理坐标中触发触摸事件Android
- 25. 在Windows Phone上取消触摸事件
- 26. 在UITableView上触摸事件?
- 27. 在UIView上触摸事件
- 28. 在ipad上触摸事件
- 29. UIView触摸事件在屏幕底部未被解雇
- 30. 触摸屏幕上的绘画滞后
一个实现的例子你为什么不只是绑定一个触摸事件添加到文档,窗口或正文,并用适当的函数进行响应? – Mike
@Epik:对于混乱感到抱歉。这是针对反应原生的。 – amit