提问者:小点点

如何在ExtendedFloatingActionButton中添加矢量颜色图标


我试图在google material的ExtendedFloatingActionButton中添加一个颜色矢量图标,但它在图标中显示了黑色背景。

在预览布局时,它看起来不错,但当运行在手机上时,图标附近显示黑色背景。

 <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
     android:id="@+id/floating_btn_take_test"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_gravity="bottom|center"
     android:layout_marginBottom="@dimen/dimen_20dp"
     android:text="@string/txt_take_test"
     android:textColor="@color/primaryColor"
     app:backgroundTint="@color/color_white"
     app:elevation="@dimen/dimen_10dp"
     app:icon="@drawable/ic_color_icon"
     app:iconTintMode="add"
     app:layout_anchorGravity="bottom|center"
     app:rippleColor="@color/secondaryColor"
     app:shapeAppearanceOverlay="@style/ShapeAppearance_Button" />

<style name="ShapeAppearance_Button" parent="ShapeAppearance.MaterialComponents.SmallComponent">
    <item name="cornerFamily">rounded</item>
    <item name="cornerSize">@dimen/dimen_10dp</item>
    <item name="android:layout_marginBottom">@dimen/dimen_30dp</item>
</style>

如何去除图标周围的黑色背景?


共2个答案

匿名用户

如果我没听错的话,你是想给晶圆厂添加一个不同颜色的图标吗?

执行此操作时,请确保添加app:tint=“@null”。 在您的示例中,xml应该如下所示。

<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
    android:id="@+id/floating_btn_take_test"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|center"
    android:layout_marginBottom="@dimen/dimen_20dp"
    android:text="@string/txt_take_test"
    android:textColor="@color/primaryColor"
    app:backgroundTint="@color/color_white"
    app:elevation="@dimen/dimen_10dp"
    app:icon="@drawable/ic_color_icon"
    app:layout_anchorGravity="bottom|center"
    app:rippleColor="@color/secondaryColor"
    app:shapeAppearanceOverlay="@style/ShapeAppearance_Button"
    app:tint="@null" />

<style name="ShapeAppearance_Button" parent="ShapeAppearance.MaterialComponents.SmallComponent">
   <item name="cornerFamily">rounded</item>
   <item name="cornerSize">@dimen/dimen_10dp</item>
   <item name="android:layout_marginBottom">@dimen/dimen_30dp</item>
</style>

匿名用户

请尝试按以下方式使用app:tint:-

<com.google.android.material.floatingactionbutton. ExtendedFloatingActionButton
    style="@style/Widget.MaterialComponents.FloatingActionButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="16dp"
    android:layout_marginBottom="16dp"
    app:backgroundTint="@color/color_white"
    app:tint="@color/white"
    app:icon="@drawable/ic_color_icon"
/>

更改app:BackgroundTint=“@null”