看起来您遇到了一个共同的问题,即阴影(尤其是在Android上)似乎与触摸可触摸的圆形形状不符,并且似乎也被夹住或切断。您可以尝试一些事情:
确定适当的影子道具(尤其是在iOS上)
ios ios,仅高程风格就不会显示阴影。您需要以您的样式使用以下阴影道具:
为了使宽度为150和高度150的完美圆圈,您的Borderradius应该是该维度的一半(即Borderradius:75)。尽管您使用了100(大于75),但它可能仍然看起来圆形,但是确保它的一半恰好有助于避免任何意外的形状怪癖。 示例:
borderRadius: 75,
有时,父视图溢出:“隐藏”或根本不足以显示完整的阴影。确保您的父容器(SafeAreaview,ScrollView和任何包装视图)不要夹住阴影。如果阴影仍被切断,您可以在触摸式上添加一些额外的填充物或边距。
例如:
<View style={{
padding: 20,
// Make sure no overflow clipping
overflow: 'visible'
}}>
...
</View>
如果您希望组件在两个平台上看起来都一样,则需要高程(对于Android)和阴影属性(对于iOS)。组合样式可能看起来像:
style={{
backgroundColor: theme.colors.gold,
width: 150,
height: 150,
borderRadius: 75, // half of width/height
elevation: 5, // Android shadow
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.3,
shadowRadius: 3.84,
}}
拍子在各种设备上看起来都不同。在实际的Android设备和iOS模拟器(或设备)上测试总是很好,以确保外观与您的期望一致。 总而言之,使用Borderradius等于宽度/高度的一半,将iOS阴影道具与Android高程样式相结合,并确保您的父装容器不会夹住阴影。这应该给您一个漂亮的圆形阴影,可以平稳地缠绕您的触摸性,而不会被切断。希望这可以帮助您获得完美的圆形按钮,并带有漂亮的阴影!