android - 错误膨胀类 Android 支持设计

标签 android android-studio android-support-library

我想做的是使用这里提到的新的 android 支持设计库:http://android-developers.blogspot.com/2015/05/android-design-support-library.html .

我试图在我的 xml 布局中使用 float 操作按钮(这是以下错误的来源):

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/adview"
    android:layout_marginTop="500dp" />

当我的应用程序启动时,出现以下错误:

06-06 20:56:43.186    6405-6405/com.nick.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.nick.app, PID: 6405
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nick.app/com.nick.app.MainActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class android.support.design.widget.FloatingActionButton
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2306)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2366)
        at android.app.ActivityThread.access$800(ActivityThread.java:149)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5290)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
 Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class android.support.design.widget.FloatingActionButton
        at android.view.LayoutInflater.createView(LayoutInflater.java:633)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
        at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:401)
        at android.app.Activity.setContentView(Activity.java:2197)
        at com.nick.app.MainActivity.onCreate(MainActivity.java:94)
        at android.app.Activity.performCreate(Activity.java:6020)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2259)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2366)
            at android.app.ActivityThread.access$800(ActivityThread.java:149)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5290)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)

在我的应用程序模块的 build.gradle 文件中,我根据需要 compile 'com.android.support:design:22.2.0'。此外,其他相关build.gradle 文件中的部分:

compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
    ...
    minSdkVersion 16
    targetSdkVersion 21
    .....

我还应该注意,当我转到项目结构->依赖项并尝试添加库依赖项时,我在搜索时找不到“com.android.support:design:22.2.0”(我不确定这是否除了在 build.gradle 文件中添加依赖项之外,还需要。

最后,在我的 SDK 管理器中,我已确认“Android 支持存储库”和“Android 支持库”分别为最新版本 15 和 22.2。

对于我还可以尝试什么有什么建议吗?

我找到了这个答案:https://stackoverflow.com/a/30557995/1489990并尝试了解决方案,但它没有解决我的问题。

最佳答案

如果您使用任何设计库组件,您应该确保您的 Activity 扩展 AppCompatActivity并使用适当的 Theme.AppCompat 主题。请注意,FloatingActionButton 依赖于在您的主题上设置的 colorAccent - 确保您的主题已定义。

关于android - 错误膨胀类 Android 支持设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30689080/

相关文章:

android - 小米 Redmi Note 3 定制服务无法正常工作?

安卓 "Only the original thread that created a view hierarchy can touch its views."

java - 如何让计时器在后台运行以在一定时间后执行操作?

android - 带有支持库的 FloatingActionButton 示例

android - DialogFragment/FragmentManager 在旋转时崩溃(使用 MVVMCross):IllegalStateException: Can not perform this action after onSaveInstanceState

android - 嵌套 fragment getchildfragmentmanager 导致崩溃

java - 从 SD 卡获取图像并显示在 ImageView 上的问题

android - Jetpack Compose 是否提供 Material AutoComplete TextView 替代品?

android - 如何在android studio中增加撤销和重做步骤

android - NoClassDefFoundError : Failed resolution of: Landroid/support/v7/appcompat/R$styleable