Android Studio启动项目报错:Binary XML第38行Error inflating class FButton
嘿,我刚学Android的时候也踩过FButton这个坑!这个错误本质是系统找不到这个自定义按钮的类,大概率是依赖配置或资源同步出了问题,给你几个亲测有效的解决步骤:
1. 确认Module级build.gradle的依赖是否正确添加
首先得确保你把FButton的依赖加到了Module级的build.gradle里(不是Project级的),添加完记得点右上角的Sync Now同步:
dependencies { // 保留你原本的其他依赖 implementation 'info.hoang8f:fbutton:1.0.5' }
如果之前加了还是报错,可以试试删除依赖重新添加,或者检查依赖版本是否和你的Android Gradle Plugin兼容。
2. 检查XML布局的命名空间和控件引用
在使用FButton的布局文件里,根布局必须添加FButton的自定义命名空间,不然系统识别不了它的专属属性:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:fbutton="http://schemas.android.com/apk/res-auto" <!-- 必须加这行 --> android:layout_width="match_parent" android:layout_height="match_parent"> <info.hoang8f.widget.FButton android:layout_width="wrap_content" android:layout_height="wrap_content" fbutton:buttonColor="@color/your_button_color" <!-- 用命名空间调用属性 --> android:text="点击测试"/> </LinearLayout>
注意控件的全类名info.hoang8f.widget.FButton别写错,少一个字母都会导致找不到类。
3. 清理缓存并重建项目
Android Studio的缓存偶尔会抽风,导致依赖没正确加载,试试这两步:
- 点击顶部菜单栏的
Build -> Clean Project,清理完成后再点Build -> Rebuild Project - 如果还是不行,直接用大招:
File -> Invalidate Caches / Restart...,选择Invalidate and Restart,重启后会重新构建缓存
4. 检查minSdkVersion是否符合要求
FButton的最低SDK版本要求是14,如果你的项目minSdkVersion设置得比14低,也会导致类加载失败。打开Module级build.gradle确认:
android { defaultConfig { minSdkVersion 14 // 或者更高版本都可以 // 其他配置保留 } }
5. 确认代码中导入的类正确
如果你在Activity/Fragment里用代码初始化FButton,要确保导入的是正确的包:
import info.hoang8f.widget.FButton; // 别导错其他类似的类
按上面的步骤一步步排查,应该就能解决这个膨胀错误了——我当时就是依赖同步没做好,清理重建后就正常运行了~
内容的提问来源于stack exchange,提问作者Eko wahyu
相关产品推荐
相关产品推荐

