1fe32deaaS猫头猫import React from 'react'; 2fe32deaaS猫头猫import {Pressable, StyleSheet} from 'react-native'; 3fe32deaaS猫头猫import rpx from '@/utils/rpx'; 4fe32deaaS猫头猫import useColors from '@/hooks/useColors'; 5fe32deaaS猫头猫import {iconSizeConst} from '@/constants/uiConst'; 6*5589cdf3S猫头猫import Icon, {IIconName} from '@/components/base/icon.tsx'; 7fe32deaaS猫头猫 8fe32deaaS猫头猫interface IFabProps { 9*5589cdf3S猫头猫 icon?: IIconName; 10fe32deaaS猫头猫 onPress?: () => void; 11fe32deaaS猫头猫} 12fe32deaaS猫头猫export default function Fab(props: IFabProps) { 13fe32deaaS猫头猫 const {icon, onPress} = props; 14fe32deaaS猫头猫 15fe32deaaS猫头猫 const colors = useColors(); 16fe32deaaS猫头猫 17fe32deaaS猫头猫 return ( 18fe32deaaS猫头猫 <Pressable 19fe32deaaS猫头猫 onPress={onPress} 20fe32deaaS猫头猫 style={[ 21fe32deaaS猫头猫 styles.container, 22fe32deaaS猫头猫 { 23277c5280S猫头猫 backgroundColor: colors.backdrop, 246cfecf1cS猫头猫 shadowColor: colors.shadow, 25fe32deaaS猫头猫 }, 26fe32deaaS猫头猫 ]}> 27fe32deaaS猫头猫 {icon ? ( 28fe32deaaS猫头猫 <Icon 29fe32deaaS猫头猫 name={icon} 30277c5280S猫头猫 color={colors.text} 31fe32deaaS猫头猫 size={iconSizeConst.normal} 32fe32deaaS猫头猫 /> 33fe32deaaS猫头猫 ) : null} 34fe32deaaS猫头猫 </Pressable> 35fe32deaaS猫头猫 ); 36fe32deaaS猫头猫} 37fe32deaaS猫头猫 38fe32deaaS猫头猫const styles = StyleSheet.create({ 39fe32deaaS猫头猫 container: { 40fe32deaaS猫头猫 width: rpx(108), 41fe32deaaS猫头猫 height: rpx(108), 42fe32deaaS猫头猫 borderRadius: rpx(54), 43fe32deaaS猫头猫 position: 'absolute', 44fe32deaaS猫头猫 zIndex: 10010, 45fe32deaaS猫头猫 right: rpx(36), 46fe32deaaS猫头猫 bottom: rpx(72), 47fe32deaaS猫头猫 justifyContent: 'center', 48fe32deaaS猫头猫 alignItems: 'center', 49fe32deaaS猫头猫 shadowOffset: { 50fe32deaaS猫头猫 width: 0, 51fe32deaaS猫头猫 height: 5, 52fe32deaaS猫头猫 }, 53fe32deaaS猫头猫 shadowOpacity: 0.34, 54fe32deaaS猫头猫 shadowRadius: 6.27, 55fe32deaaS猫头猫 56fe32deaaS猫头猫 elevation: 10, 57fe32deaaS猫头猫 }, 58fe32deaaS猫头猫}); 59