diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIFloatingActionButton.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIFloatingActionButton.java index 956f203d3da..c63fd5d79a1 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIFloatingActionButton.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIFloatingActionButton.java @@ -7,6 +7,7 @@ package ti.modules.titanium.ui.widget; import android.content.res.ColorStateList; +import android.graphics.PorterDuff; import com.google.android.material.floatingactionbutton.FloatingActionButton; @@ -54,6 +55,9 @@ public void processProperties(KrollDict d) if (d.containsKey("maxImageSize")) { setMaxImageSize(TiConvert.toInt(d.get("maxImageSize"))); } + if (d.containsKey(TiC.PROPERTY_TINT_COLOR)) { + setTintColor(d.getString("tintColor")); + } if (d.containsKeyAndNotNull(TiC.PROPERTY_TOUCH_FEEDBACK_COLOR)) { ColorStateList colorStateList = null; colorStateList = ColorStateList.valueOf( @@ -91,6 +95,12 @@ private void setImage(Object obj) } } + public void setTintColor(String color) + { + int tintColor = TiConvert.toColor(color, TiApplication.getAppCurrentActivity()); + fab.setColorFilter(tintColor, PorterDuff.Mode.SRC_IN); + } + @Override public void propertyChanged(String key, Object oldValue, Object newValue, KrollProxy proxy) { @@ -106,6 +116,8 @@ public void propertyChanged(String key, Object oldValue, Object newValue, KrollP ColorStateList colorStateList = null; colorStateList = ColorStateList.valueOf(TiConvert.toColor(newValue, proxy.getActivity())); fab.setRippleColor(colorStateList); + } else if (key.equals(TiC.PROPERTY_TINT_COLOR)) { + setTintColor(TiConvert.toString(newValue)); } } }