Search code examples
androidandroid-layoutfloating-action-buttonandroid-icons

Tint attribute not working on floating action button - cannot change the icon colour


I'm trying to do something very simple, setting the tint of an icon on a floating action button yet the tint attribute does not change it's colour.

Even after changing the icon's XML itself the floating action button seems to keep the icon as black.

I just want to change the icon to white!

FAB XML:

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/createPostBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:backgroundTint="#006993"
        android:clickable="true"
        android:focusable="true"
        android:src="@drawable/ic_textpost"
        android:tint="@color/white"
        app:layout_constraintBottom_toTopOf="@+id/add_btn"
        app:layout_constraintEnd_toEndOf="@+id/add_btn" />

ic_textpost.xml:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24"
    android:tint="@color/white">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M17,19.22H5V7h7V5H5C3.9,5 3,5.9 3,7v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2v-7h-2V19.22z"/>
  <path
      android:fillColor="@android:color/white"
      android:pathData="M19,2h-2v3h-3c0.01,0.01 0,2 0,2h3v2.99c0.01,0.01 2,0 2,0V7h3V5h-3V2z"/>
  <path
      android:fillColor="@android:color/white"
      android:pathData="M7,9h8v2h-8z"/>
  <path
      android:fillColor="@android:color/white"
      android:pathData="M7,12l0,2l8,0l0,-2l-3,0z"/>
  <path
      android:fillColor="@android:color/white"
      android:pathData="M7,15h8v2h-8z"/>
</vector>

Current FAB


Solution

  • You need to use app:tint, not android:tint to set the color.

    See the official material documention. It is quite good in the meantime.

    https://material.io/components/buttons-floating-action-button/android#fabs