React Native中修改IconButton组件尺寸的疑问
当然可以修改IconButton的尺寸啦!你之前的问题出在把size属性加错地方了——size并不是View组件的样式属性,所以加在styles.item里完全不会生效。尺寸参数需要直接传给负责渲染图标的组件(也就是Icon)或者它的容器IconButton才行,我给你几个可行的解决方案:
方案一:直接给Icon组件指定size属性
因为你用的是@expo/vector-icons里的Icon组件,它本身支持size属性,直接在Icon标签里加上就行:{ icon: ( <IconButton icon={props => <Icon name="food" {...props} size={50} />} /> ), }这样修改后,图标尺寸会立刻生效,这也是最直接的方法。
方案二:通过IconButton的iconProps传递尺寸(按需使用)
如果你用的@react-native-material/core版本支持iconProps属性,可以通过这个属性统一传递尺寸参数,不用每个Icon都手动写:{ icon: ( <IconButton icon={props => <Icon name="food" {...props} />} iconProps={{ size: 50 }} /> ), }这个方法适合需要批量设置图标的场景,但要注意不同版本的组件可能不支持这个属性,要是不行就用方案一。
方案三:调整IconButton的点击区域大小(可选)
如果希望图标变大的同时,按钮的可点击区域也跟着扩大,可以给IconButton添加style属性设置宽高:{ icon: ( <IconButton icon={props => <Icon name="food" {...props} size={50} />} style={{ width: 60, height: 60, justifyContent: 'center', alignItems: 'center' }} /> ), }这样设置后,按钮的点击范围会更合理,用户体验更好。
简单来说,核心就是把尺寸参数传给正确的组件,而不是外层的View。你可以根据自己的需求选上面的任意一种方法试试~
备注:内容来源于stack exchange,提问作者Zak Ray Sick
相关产品推荐
相关产品推荐

