FloatingActionButton图标在Android 7.1真机不显示问题求助
我之前也碰到过类似的糟心情况——Design视图里图标好好的,真机上就是看不到,给你几个实用的排查方向:
确认矢量图支持配置:在模块的
build.gradle文件里,一定要开启矢量图兼容支持,把这段配置加到android > defaultConfig块中:android { defaultConfig { // 这个配置不仅适配API21以下,也能避免高版本设备的部分兼容性坑 vectorDrawables.useSupportLibrary = true } }检查依赖库版本:确保你用的
design和appcompat库版本兼容且支持矢量图。如果已经迁移到AndroidX,建议用最新稳定版:implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.9.0'要是还在用旧的support库,版本别低于23.2.0(这是官方开始支持矢量图的最低版本)。
排查视觉冲突问题:你的FAB背景是
@color/vert(绿色),图标是黑色的ic_check_circle_black_18dp,虽然理论上颜色对比足够,但可以临时给图标加个白色 tint 测试:app:tint="@color/white",看看是不是颜色太接近导致看不见。清理重建项目:Android Studio的Design视图经常会缓存资源,实际打包时容易出问题。试试这套流程:
- Build → Clean Project
- Build → Rebuild Project
- 卸载设备上的旧应用,重新安装
检查代码是否误覆盖图标:确认你没有在Activity/Fragment的代码里,不小心调用了
floatingActionButton3.setImageDrawable(null)或者其他修改图标的方法,把图标给清空了。临时替换srcCompat属性:虽然
app:srcCompat是官方推荐的矢量图用法,但偶尔在部分设备上会有兼容性bug,你可以临时换成android:src="@drawable/ic_check_circle_black_18dp"测试能不能显示。
内容的提问来源于stack exchange,提问作者AlexMel

