You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中白色vector图标在FloatingActionButton显示为黑色

问题根因

Material Design组件库的FloatingActionButton默认会对内部的src图标应用全局主题默认的tint着色,该优先级远高于矢量图自身设置的fillColor和android:tint属性,所以你设置的白色会被默认的黑色tint覆盖。同时你当前布局里存在背景着色的配置冲突,app:backgroundTint="@null"会覆盖掉你设置的蓝色背景。

注意:需要确保布局根节点已经声明了app命名空间xmlns:app="http://schemas.android.com/apk/res-auto",否则app:开头的属性会失效。

可行解决方法
  • 方案1:直接在FloatingActionButton布局中显式指定图标着色,无需修改矢量图资源
    移除冲突的app:backgroundTint="@null",新增app:tint指定图标颜色即可,修正后的布局代码如下:
<com.google.android.material.floatingactionbutton.FloatingActionButton
   android:id="@+id/default_activity_button"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentEnd="true"
   android:layout_alignParentBottom="true"
   android:layout_marginStart="32dp"
   android:layout_marginTop="32dp"
   android:layout_marginEnd="32dp"
   android:layout_marginBottom="32dp"
   android:backgroundTint="@android:color/holo_blue_dark"
   android:src="@drawable/ic_baseline_add"
   app:tint="@android:color/white"/>
  • 方案2:如果需要保留矢量图自身配置的颜色,关闭FAB的默认图标着色即可
    在FAB布局中添加app:tint="@null",同时移除冲突的背景置空代码:
<com.google.android.material.floatingactionbutton.FloatingActionButton
   android:id="@+id/default_activity_button"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentEnd="true"
   android:layout_alignParentBottom="true"
   android:layout_marginStart="32dp"
   android:layout_marginTop="32dp"
   android:layout_marginEnd="32dp"
   android:layout_marginBottom="32dp"
   android:backgroundTint="@android:color/holo_blue_dark"
   android:src="@drawable/ic_baseline_add"
   app:tint="@null"/>

内容的提问来源于stack exchange,提问作者aileen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 08:24:04