主题错误-如何解决?

时间:2018-08-25 12:34:51

标签: java android android-coordinatorlayout android-appbarlayout

尝试了很多解决方案但没有帮助

Ref:Failed to find style 'coordinatorLayoutStyle' in current theme

但没有帮助

  

渲染问题:

     

无法在当前主题中找到样式'coordinatorLayoutStyle'

     

提示:尝试刷新布局。

我项目的

build.gradle文件是:

buildscript {

repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.4'


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

module:app

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "*****"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:design:28.0.0-alpha1'
}

主要活动XML代码

    <?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=".MainActivity">

    <android.support.design.bottomappbar.BottomAppBar
        android:id="@+id/bar"
        style="@style/Widget.MaterialComponents.BottomAppBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:navigationIcon="@drawable/ic_menu"
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:fabAttached="true"
        app:backgroundTint="@color/colorPrimary"
        app:fabCradleVerticalOffset="12dp"/>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_anchor="@id/bar"/>

</android.support.design.widget.CoordinatorLayout>

为什么我不将编译的SDK版本28更改为27 bcz我要使用底部应用程序栏

Bottom App Bar Material Design

App Bars:Bottom- Material Design

Main Activity Xml

3 个答案:

答案 0 :(得分:3)

这是28.0.0中的错误,唯一的解决方法(解决方法)是将其添加到您的Build.gradle

configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->
            def requested = details.requested
            if (requested.group == "com.android.support") {
                if (!requested.name.startsWith("multidex")) {
                    details.useVersion "27.1.1"
                }
            }
        }
    }

这以某种方式绕过了问题,并为此使用了27个支持库。否则,您可能想要将Android Studio更新为金丝雀频道版本,或使用向后支持库(例如27.1.1或其他)。

答案 1 :(得分:0)

此错误发生在Studio的一部分的“渲染布局”中,不在任何文件或库中

  1. 尝试在styles.xml中的主题之前添加“ Base”,如下所示:- “ Base.Theme.AppCompat.Light.DarkActionBar”

  2. 请通过选择菜单选项“文件”重新启动Android Studio→ “使缓存无效/重新启动”

  3. 解决方法:尝试使用AS v1.3预览以M预览进行渲染,或者 使用FrameLayout进行设计并更改为 调试时android.support.design.widget.CoordinatorLayout。

答案 2 :(得分:0)

我对28.0.0-alpha1也有同样的问题

1。您可以将其更改为27,直到固定。

2.更改<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"><style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
请注意,基本

3.在“预览”选项卡中,将主题更改为“ Materiar.Light.NoActionBar”。 其他一些主题也可以,但我只记得这一点。