![](/img/trans.png)
[英]React Native: How to make TouchableOpacity shrink to fit Text contents?
[英]React Native - How to make portion of TouchableOpacity not pressable
我有一个Card
组件,它在应用程序的仪表板页面上显示一个列表。 整张卡片被包裹在一个TouchableOpacity
中。 我希望整张卡片都是可压的,它链接到列表页面。
但是,我希望它的右下角不可按下,因为它包含一个View
,上面有 2 个图标(一个赞按钮和一个消息按钮)。 这些图标中的每一个都有自己的onPress()
需要发生。
现在,如果你尝试点击右下角的图标,它只会触发整个TouchableOpacity
这是Card
的return
声明:
return (
<Container>
<Cover style={{ backgroundColor: "red" }}>
<Image
source={{
width: 80,
height: 90,
url: "https://picsum.photos/200/300",
}}
/>
</Cover>
<Content>
<Title>{props.name}</Title>
<PriceCaption>{"$" + props.price}</PriceCaption>
<View
style={{
position: "absolute",
height: 35,
width: 100,
top: 45,
right: 0,
flexDirection: "row",
alignItems: "Flex-end",
}}
>
<TouchableOpacity
style={{
...styles.ButtonBackground,
backgroundColor: null,
left: 70,
}}
onPress={() => {
launchChat();
}}
title={"message"}
>
<AntDesign name="mail" size={26} color={colours.purple} />
</TouchableOpacity>
<TouchableOpacity
style={{
...styles.ButtonBackground,
backgroundColor: null,
marginLeft: 0,
left: 10,
}}
onPress={() => {
launchChat();
}}
title={"message"}
>
<AntDesign name="heart" size={26} color={colours.purple} />
</TouchableOpacity>
</View>
</Content>
</Container>);
是否有属性,或者我可以从TouchableOpacity
中排除嵌套View
的方式?
注意:如果您单击Icons
,它们仍然会触发各自的onPress()
,但是,整个卡片仍然会淡出,并且 animation 与您单击卡片上的其他位置相同(因此用户在他们的位置上得到的反馈很差点击)。
我在你的问题中有一个理解问题,但我相信用 TouchableWithoutFeedback 包装可能是一个解决方案或 pointerEvents={"none"} 属性。 如果你对 react-native 中的关键字 TouchableWithoutFeedback 组件做一点研究,我想你会得到你想要的结果
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.