我有一個正在消失的標題,我想在屏幕上的任意位置點擊一次。但是如果我將整個<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. 如何在觸摸屏幕時獲取服務中的事件?
- 2. 接收屏幕觸摸事件
- 3. 使用屏幕鍵盤觸摸事件
- 4. 在任何屏幕上接收觸摸事件
- 5. 在iPad屏幕上檢測手觸摸事件
- 6. 事件觸摸屏輕輕觸摸
- 7. 屏幕上(觸摸屏)Web鍵盤
- 8. UIAlertController禁用屏幕上的所有觸摸事件
- 9. iPhone觸摸屏事件
- 10. Android敬酒在某些手機上獲取觸摸事件,而在其他手機上獲得觸摸事件
- 11. 在UITextView中獲取觸摸事件
- 12. 在屏幕上的特定物理座標中觸發觸摸事件Android
- 13. 在Windows Phone上取消觸摸事件
- 14. 在UIView上觸摸事件
- 15. 在UITableView上觸摸事件?
- 16. UIView觸摸事件在屏幕底部未被解僱
- 17. 觸摸屏幕上的繪畫滯後
- 18. 如何獲得PDF註釋,當我觸摸在ipad屏幕上
- 19. 從觸摸屏在Chrome中觸摸事件
- 20. 關閉屏幕觸摸屏幕上的MPMoviePlayerController
- 21. 從觸摸事件中獲取視圖
- 22. 獲取觸摸事件像iphone
- 23. 使用觸摸屏在窗口上禁用屏幕大小調整
- 24. 觸摸到下一個屏幕
- 25. 在觸摸屏上捕獲文字
- 26. 檢測屏幕是否可以在Android上發送觸摸事件?
- 27. 關閉整個屏幕的觸摸,SpriteKit,怎麼樣?
- 28. 在滾動視圖中獲取touchview上的觸摸事件
- 29. 如何在指定的CGRect上獲取觸摸事件
- 30. 檢測WP7屏幕中的x和y觸摸事件
一個實現的例子你爲什麼不只是綁定一個觸摸事件添加到文檔,窗口或正文,並用適當的函數進行響應? – Mike
@Epik:對於混亂感到抱歉。這是針對反應原生的。 – amit