android - 使用协调器布局创建活动时出错
问题描述
只是弄乱了不同类型的布局,想知道为什么这种布局不起作用。我下载了正确的依赖项,但仍然出现错误。我想使用这个布局,因为我读到你可以用它来定位 Snackbar。除了这个之外,所有其他布局都可以在 Android Studio 中使用。以下关于协调器布局的教程可以轻松使用它们而不会出错。
布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="maginatestudios.com.maginatecrate.test">
</android.support.design.widget.CoordinatorLayout>
构建.gradle
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.google.firebase:firebase-auth:15.0.0'
implementation 'com.google.android.gms:play-services-auth:15.0.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support:recyclerview-v7:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
错误日志
04-25 18:04:43.544 6329-6329/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: maginatestudios.com.maginatecrate, PID: 6329
java.lang.RuntimeException: Unable to start activity ComponentInfo{maginatestudios.com.maginatecrate/maginatestudios.com.maginatecrate.test}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.support.design.widget.CoordinatorLayout
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6540)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.support.design.widget.CoordinatorLayout
Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class android.support.design.widget.CoordinatorLayout
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
at android.view.LayoutInflater.createView(LayoutInflater.java:650)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:793)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733)
at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:418)
at android.app.Activity.setContentView(Activity.java:2653)
at maginatestudios.com.maginatecrate.test.onCreate(test.java:11)
at android.app.Activity.performCreate(Activity.java:6980)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6540)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.IllegalArgumentException: You need to use a Theme.AppCompat theme (or descendant) with the design library.
at android.support.design.widget.ThemeUtils.checkAppCompatTheme(ThemeUtils.java:33)
at android.support.design.widget.CoordinatorLayout.<init>(CoordinatorLayout.java:206)
at android.support.design.widget.CoordinatorLayout.<init>(CoordinatorLayout.java:200)
解决方案
尝试删除:
<?xml version="1.0" encoding="utf-8"?>
编辑,我的坏只是看到那里的错误
尝试使您的活动扩展
AppCompatActivity
推荐阅读
- python-3.x - 我怎样才能完成这个项目?它关于情感分类
- ios - 过期的 iOS 开发者/分发证书
- typescript - 如何在类型定义上部分使用计算的属性名称
- c# - Xcode:如何将 Unity 游戏添加到现有的 iOS 应用程序?
- java - 如何减少Java中的循环
- webpack - 如何在 Vue Nuxt.js 中使用 SASS(不是 SCSS)
- c# - Json 解析请求无法在 MVC 上加载表
- python - 具有嵌套标签结构的 XML 到 Python 数据框
- .htaccess - 删除最后一个字符 '?' 通过 htaccess 从 URL
- mysql - Excel 到 DataTable 导入错误的值