Javascript 开始滚动[React Native]时,使TouchableOpacity不高亮显示元素
Javascript 开始滚动[React Native]时,使TouchableOpacity不高亮显示元素,javascript,react-native,listview,scroll,scrollview,Javascript,React Native,Listview,Scroll,Scrollview,TouchableOpacity使事物可触摸,或者如React Native所说: 使视图正确响应触摸的包装器 但是在滚动视图或列表视图中使用它会在我们(或至少是我)不想要的时候高亮显示 向下滚动充满元素的列表视图涉及以下三个步骤: 触碰元素 举手 松开手指 触摸该元素会立即产生高亮显示动画。但在这种情况下,我们只想滚动。我们不想对该元素做任何事情,无论是高亮显示还是打开细节视图等 这种情况并非总是发生,但大多数情况下都发生在我的Android设备上 处理这个问题的正确方法是什么?一个滚动手
TouchableOpacity
使事物可触摸,或者如React Native所说:
使视图正确响应触摸的包装器
但是在滚动视图
或列表视图
中使用它会在我们(或至少是我)不想要的时候高亮显示
向下滚动充满元素的列表视图
涉及以下三个步骤:
- 触碰元素
- 举手
- 松开手指
处理这个问题的正确方法是什么?一个滚动手势应该取消
触摸不透明度触摸响应器,但是如果您认为触摸不透明度
高亮显示被提前触发,您可以试着调整delayPressIn
属性。您可以使用delayPressIn={1000}
,这将延迟动画,直到按下1秒钟
delayPressIn
在调用onPressIn之前,从触摸开始,以毫秒为单位的
延迟属性
要使用的示例:
<FlatList
horizontal
contentContainerStyle={{ paddingRight: 16 }} // this set the padding to last item
showsHorizontalScrollIndicator={false} // hide the scroller
data={results}
keyExtractor={(result) => result.data.id}
renderItem={({ item }) => {
return (
<TouchableOpacity
delayPressIn={1000} // delay animation for 1 second
onPress={() => navigation.navigate('ResultsShow')}
>
<ResultsDetail result={item.data} />
</TouchableOpacity>
);
}}
/>;
result.data.id}
renderItem={({item})=>{
返回(
navigation.navigate('resultshow')}
>
);
}}
/>;
您可以找到更多信息。出于兴趣,将滚动视图包装成可触摸高光的使用案例是什么?事实并非如此。我们正在将touchablepacity
元素包装在ScrollView
中。谢谢。我没有考虑过<代码>触摸反馈>代码>道具。现在我将delayPressIn
设置为一个非常高的数字,因为我不希望在按住按钮时出现动画。但这感觉并不完全正确。我想我需要一个自定义的突出显示动画,以便在长时间内点击、按住和长按。感谢delayPressIn
工作正常,我将我的设置为50
,这似乎适合我的滑动手势。老兄,我现在非常爱你。我不知道为什么这个道具。没有记录。React Native在文档方面是一团糟。现在我可以停止使用buggy TouchableHighlight(它对边框和图像的效果非常差)