@@ -182,6 +182,7 @@ class FloatingAction extends Component {
182182 iconWidth,
183183 iconHeight,
184184 iconColor,
185+ iconStyle
185186 } = this . props ;
186187
187188 if ( overrideWithAction ) {
@@ -191,7 +192,7 @@ class FloatingAction extends Component {
191192 return icon ;
192193 }
193194 return (
194- < Image style = { { width : iconWidth , height : iconHeight } } source = { icon } />
195+ < Image style = { [ { width : iconWidth , height : iconHeight } , iconStyle ] } source = { icon } />
195196 ) ;
196197 }
197198
@@ -202,13 +203,13 @@ class FloatingAction extends Component {
202203
203204 return (
204205 < Image
205- style = { { width : iconWidth , height : iconHeight } }
206+ style = { [ { width : iconWidth , height : iconHeight } , iconStyle ] }
206207 source = { floatingIcon }
207208 />
208209 ) ;
209210 }
210211
211- return < AddIcon width = { iconWidth } height = { iconHeight } backgroundColor = { iconColor } /> ;
212+ return < AddIcon width = { iconStyle ?. width || iconWidth } height = { iconStyle ?. height || iconHeight } backgroundColor = { iconStyle ?. backgroundColor || iconColor } /> ;
212213 } ;
213214
214215 reset = ( ) => {
@@ -333,7 +334,8 @@ class FloatingAction extends Component {
333334 color,
334335 position,
335336 overrideWithAction,
336- animated
337+ animated,
338+ style,
337339 } = this . props ;
338340 const { active } = this . state ;
339341
@@ -414,9 +416,9 @@ class FloatingAction extends Component {
414416 }
415417
416418 const sizeStyle = {
417- width : buttonSize ,
418- height : buttonSize ,
419- borderRadius : buttonSize / 2
419+ width : style ?. width || buttonSize ,
420+ height : style ?. height || buttonSize ,
421+ borderRadius : ( style ?. width || buttonSize ) / 2
420422 } ;
421423
422424 return (
@@ -427,7 +429,8 @@ class FloatingAction extends Component {
427429 styles [ `${ position } Button` ] ,
428430 propStyles ,
429431 animatedVisibleView ,
430- this . getShadow ( )
432+ this . getShadow ( ) ,
433+ style
431434 ] }
432435 accessible = { false }
433436 >
@@ -459,6 +462,7 @@ class FloatingAction extends Component {
459462 actionsPaddingTopBottom,
460463 animated,
461464 tintColor,
465+ itemStyle
462466 } = this . props ;
463467 const { active } = this . state ;
464468
@@ -520,6 +524,11 @@ class FloatingAction extends Component {
520524 active = { active }
521525 onPress = { this . handlePressItem }
522526 animated = { animated }
527+ style = { { ...itemStyle , ...action ?. style } }
528+ imageStyle = { action ?. imageStyle }
529+ imageContainerStyle = { action ?. imageContainerStyle }
530+ textStyle = { action ?. textStyle }
531+ textContainerStyle = { action . textContainerStyle }
523532 />
524533 ) ;
525534 } ) }
@@ -528,13 +537,13 @@ class FloatingAction extends Component {
528537 }
529538
530539 renderTappableBackground ( ) {
531- const { overlayColor } = this . props ;
540+ const { overlayColor, backdropStyle } = this . props ;
532541
533542 // TouchableOpacity don't require a child
534543 return (
535544 < TouchableOpacity
536545 activeOpacity = { 1 }
537- style = { [ styles . overlay , { backgroundColor : overlayColor } ] }
546+ style = { [ styles . overlay , { backgroundColor : overlayColor } , backdropStyle ] }
538547 onPress = { this . handlePressBackdrop }
539548 />
540549 ) ;
@@ -558,7 +567,10 @@ class FloatingAction extends Component {
558567}
559568
560569FloatingAction . propTypes = {
570+ style : PropTypes . object ,
561571 tintColor : PropTypes . string ,
572+ iconStyle : PropTypes . object ,
573+ itemStyle : PropTypes . object ,
562574 actions : PropTypes . arrayOf (
563575 PropTypes . shape ( {
564576 color : PropTypes . string ,
0 commit comments