FAB 2 彩色图标

FAB 2 coloured icon

我正在使用 FAB 小部件,我想在其中添加一个 2 色图标。那可能吗?这是我当前的代码:

 <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/notificationFAB"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:fabSize="mini"
            android:tintMode="multiply"
            android:backgroundTint="@color/colorWhite"
            android:layout_marginTop="5dp"
            app:tint="@color/colorPrimaryLight"
            app:rippleColor="@color/colorPrimary"
            android:layout_marginHorizontal="10dp"
            android:src="@drawable/active_notif_final"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:borderWidth="0dp"
            />

我做了一个解决方法:使图标的颜色变亮并添加 tintMode 作为乘法以获得原始颜色。不过还是不太好看

解决方法

原创

<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
            android:id="@+id/notificationFAB"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:backgroundTint="@color/colorWhite"
            android:layout_marginTop="5dp"
            app:rippleColor="@color/colorPrimary"
            android:layout_marginHorizontal="10dp"
            app:icon="@drawable/active_notif_final"
            app:iconTint="@color/colorPrimaryLight"
            app:iconTintMode="multiply"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:borderWidth="0dp"
            />

带有扩展 FAB:

默认情况下,icon (app:srcCompat) 根据 FloatingActionButton 文档使用 app:tint 颜色着色。

您可以通过将 app:tint="@null" 添加到您的 fab 来禁用此行为:

 <com.google.android.material.floatingactionbutton.FloatingActionButton
      app:srcCompat="@drawable/..."
      app:tint="@null"
      .../>

ExtendedFloatingActionButtonapp:icon 带有 app:iconTint:

的颜色
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
    app:icon="@drawable/...."
    app:iconTint="@null"
    .../>