我有一个正方形的TouchableOpacity按钮,它的图形只是中间的一个小点图标,其余部分是透明的背景。我发现在许多Android设备中,按下它是相当困难的,因为显然只有不透明的区域是可触摸的,其余部分都不是。那么,有没有什么方法可以控制TouchableOpacity或其他类似按钮的兄弟的可触摸区域?
TouchableOpacity
fcg9iug31#
您可以使用View#hitSlop属性来增加可触摸区域。这在您知道增加的触摸区域不会与其他可触摸区域重叠的情况下很有用。一个更健壮的解决方案是使用padding样式属性。Touchable*组件的可触摸区域包括元素的填充。
View#hitSlop
padding
Touchable*
0kjbasz62#
我只是添加了一些代码以方便参考:
<View style={Styles.buttonStyle}> <TouchableOpacity onPress={onBtn1Pressed} hitSlop={{top: 20, bottom: 20, left: 50, right: 50}}> <Text style={Styles.textStyle}> Button text </Text> </TouchableOpacity> </View>
其中父按钮容器具有以下样式。由于宽度为150,因此我将左和右设置为50以增加可单击区域。
buttonStyle:{ alignItems:'center', backgroundColor: '#F92660', width:150, height:50, marginTop:20, marginBottom:10, marginRight:15, padding:5, },
li9yvcax3#
我遇到了同样的问题,我的抽屉图标可以从标题中的任何地方触摸。我解决了这个问题,简单地为抽屉图标添加了一个新的视图,并添加了图标及其属性。
之前
return ( <View style={styles.header}> <StatusBar backgroundColor="transparent" translucent={true} /> <TouchableOpacity style={styles.trigger} onPress={() => { this.props.navigation.goBack(); }} > <Ionicons name="arrow-back" size={35} color={"grey"} /> </TouchableOpacity> </View> ); } }
之后
return ( <View style={styles.header}> <StatusBar backgroundColor="transparent" translucent={true} /> <TouchableOpacity style={styles.trigger} onPress={() => { this.props.navigation.goBack(); }} > <View style={{ width: 40, height: 40 }}> <Ionicons name="arrow-back" size={35} color={"grey"} /> </View> </TouchableOpacity> </View> ); } }
z18hc3ub4#
如果你使用的是新推荐的Pressable组件 Package 器,你可以使用hitSlop来增加按钮的可按区域。下面是你如何使用它
<Pressable onPress={() => someFunction()} hitSlop={ { left: 100, // To increase press area on the left side right: 100,// To increase press area on the right side bottom: undefined, top: undefined }} > <Text>Press me </Text> </Pressable>
4条答案
按热度按时间fcg9iug31#
您可以使用
View#hitSlop
属性来增加可触摸区域。这在您知道增加的触摸区域不会与其他可触摸区域重叠的情况下很有用。一个更健壮的解决方案是使用
padding
样式属性。Touchable*
组件的可触摸区域包括元素的填充。0kjbasz62#
我只是添加了一些代码以方便参考:
其中父按钮容器具有以下样式。由于宽度为150,因此我将左和右设置为50以增加可单击区域。
li9yvcax3#
我遇到了同样的问题,我的抽屉图标可以从标题中的任何地方触摸。我解决了这个问题,简单地为抽屉图标添加了一个新的视图,并添加了图标及其属性。
之前
之后
z18hc3ub4#
如果你使用的是新推荐的Pressable组件 Package 器,你可以使用hitSlop来增加按钮的可按区域。
下面是你如何使用它