Не удалось найти стиль "ordinatorLayoutStyle "в текущей теме

Я использую последнюю версию android studio (3.0) вместе с последними инструментами сборки (27) и аналогичным уровнем API.

Макет не отображается на вкладке дизайна, и это вызывает много проблем, особенно если я использую макет координатора.

Как мне обойти эту проблему?

вы пробовали invalidate caches/restart?

Abdul Kawee 15.03.2018 07:01

пожалуйста, добавьте код или объясните подробнее

Erfan 15.03.2018 07:03
65
2
75 052
18
Перейти к ответу Данный вопрос помечен как решенный

Ответы 18

Возможно, проблема уже существует: https://issuetracker.google.com/issues/37048767

Выполните рендеринг с использованием других версий Android (например, Android API 22).

Или проверьте наличие опечаток или недопустимых записей XML.

См. Здесь: Отсутствующие стили. Правильная ли тема выбрана для этого макета?

Спасибо за ответ, я нашел решение возиться с кодом,

У меня был включен атрибут tools:showIn в родительском макете фрагмента, который я переместил на страницу просмотра, он был ранее встроен в активность хоста, хотя lint не улавливал его, что немного удивительно.

Ответ принят как подходящий

Я решил эту проблему рендеринга, просто вставив эту строку в тему приложения (тема приложения обычно помещается в styles.xml).

[SDK 28]

<style name = "AppTheme">
  <item name = "coordinatorLayoutStyle">@style/Widget.Support.CoordinatorLayout</item>
</style>

[SDK 27]

<style name = "AppTheme">
  <item name = "coordinatorLayoutStyle">@style/Widget.Design.CoordinatorLayout</item>
</style>

As suggested by @Chris. If the IDE does not find the CoordinatorLayout in Widget.Support or Widget.Design, just start typing "CoordinatorLayout" and it should give you some options.

Зря потратил на это часы. Вы знаете, почему это происходит? Раньше у меня не было проблем, но внезапно

M at 11.04.2018 18:26

Android иногда бывает настолько странным глаза Спасибо, это устранило проблему для меня.

Arbitur 30.04.2018 16:29

Спасибо. Смешно, что это требует Android Studio.

Monte Creasor 09.05.2018 01:02

Хорошо для вас, это случилось со мной при запуске приложения Hello World: D означает, что они вносят встроенную ошибку :))

deadManN 20.05.2018 07:54

Невероятно это работает. Но ради бога, почему? Но знаете ли вы, что я тогда удалено эту строку ... и она все еще работает! Указывает, что каким-то образом редактор попал в плохое состояние, и эта строка как-то исправляет это. Возможно, аннулирование / перезапуск тоже сработало бы?

SMBiggs 23.05.2018 18:09

Ой, заговорил слишком рано. Добавлен еще один виджет, и ошибка снова выскочила. Думаю, мне придется сохранить эту строчку в моем styles.xml.

SMBiggs 23.05.2018 18:21

И когда вы говорите тема приложения, вы имеете в виду, что styles.xml правильно?

DanMossa 16.06.2018 08:58

@DanMossa, да - styles.xml. Или поместите тему приложения в любой XML-файл в папке / values.

T-igra 16.06.2018 22:08

Если он говорит, что его не существует, попробуйте просто ввести, начиная с ввода «Coord», и он должен дать вам несколько вариантов. Моя была под @style/Widget.Support.CoordinatorLayout

Chris 27.07.2018 05:10

да, он находится под поддержкой открытого класса CoordinatorLayout, расширяет ViewGroup, реализует NestedScrollingParent2 java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.support.design.widget.CoordinatorLayout

Manoranjan 17.08.2018 11:33
 <style name = "Theme.Shrine" parent = "Theme.MaterialComponents.Light.NoActionBar">
    <item name = "coordinatorLayoutStyle">@style/Widget.Support.CoordinatorLayout</item>
</style>

Добавьте свою материальную тему.

не распознается в моей библиотеке поддержки 28 альфа.

Abhinav Saxena 23.06.2018 16:07

Я должен был сделать это, чтобы моя заработала. Нашел его с помощью Android Studio intellisense и начал набирать "Coord".

Chris 27.07.2018 05:08

Я тоже столкнулся с той же проблемой. Ничего подобного, как смена темы из окна предварительного просмотра макета, мне не помогло.

Решение: Я обновил свой build.gradle(app):

dependencies {
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support:design:27.0.2'
}

Еще кое-что:

compileSdkVersion 27
targetSdkVersion 27

В качестве альтернативы оставайтесь на SDK 28 и вместо этого понизьте версию библиотеки поддержки с 28.0.0-alpha3 до 28.0.0-alpha1, как предлагается в этом ответе stackoverflow.com/a/51091869/1488656

Livven 16.07.2018 00:58

Этот сделал это для меня

Jonas Grønbek 19.07.2018 14:00

Я думаю, что это обычная проблема в Android Studio 3.0+, Надеюсь, они исправят это в следующем обновлении. В Android Studio Preview 3.2 все работает нормально. Скачать предварительную версию Android Studio

Кроме того, в режиме дизайна Android Studio, если я добавлю следующее в файл styles.xml:

<style name = "Coordinator">
    <item 
    name = "coordinatorLayoutStyle">@style/Widget.Design.CoordinatorLayout</item>
</style>

и добавьте следующее в CoordinatorLayout в файл ресурсов xml макета

<android.support.design.widget.CoordinatorLayout
    android:theme = "@style/Coordinator"
    android:orientation = "vertical"
    android:id = "@+id/sample_layout_id"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    android:background = "@drawable/sample_background"
    tools:theme = "@style/Coordinator">

тогда, по крайней мере, представление дизайна перестает генерировать ошибку отсутствия координатораLayoutStyle.

Здравствуйте, пожалуйста, попробуйте упомянуть такие вещи, как почему это не работает. и изменения, которые вы предложили, почему это имеет значение.

Mihir Dave 27.06.2018 20:09

Он не работал из-за ошибки Android Studio.

Phillip 28.06.2018 16:35

implementation 'com.android.support:appcompat-v7:28.0.0-alpha3' в build.gradle (модуль) измените альфа-3 на альфа-1 синхронизацию, и все будет в порядке. Я потратил почти день, пытаясь понять это. ни один из этих ответов не помог мне. надеюсь это поможет

мне пришлось изменить реализацию com.android.support:design:28.0.0-alpha3 также на alpha1

Mujeebcpy 07.07.2018 20:16

Оказывается, новый SDK 28, к сожалению, вызывает эту ошибку в Android Studio при создании нового проекта.

Как решить:

Проверьте свой файл build.gradle(Модуль: приложение) и измените:

compileSdkVersion 28
targetSdkVersion 28

К:

compileSdkVersion 27
targetSdkVersion 27

Также убедитесь, что вы используете правильную версию зависимостей:

implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'

В качестве альтернативы оставайтесь на SDK 28 и вместо этого понизьте версию библиотеки поддержки с 28.0.0-alpha3 до 28.0.0-alpha1, как предлагается в этом ответе stackoverflow.com/a/51091869/1488656

Livven 16.07.2018 00:56

Вот и все, изменение SDK 28 на 27 и синхронизация Gradle решили проблему.

Thiago Souza 31.08.2018 03:05

Как предположил @Livven, есть некоторые проблемы с библиотекой поддержки 28.0.0-alpha3.

Geraldo Neto 18.03.2019 05:57

<!-- Base application theme. -->
<style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name = "colorPrimary">@color/colorPrimary</item>
    <item name = "colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name = "colorAccent">@color/colorAccent</item>
    <item name = "coordinatorLayoutStyle">@style/Widget.Design.CoordinatorLayout</item>
</style>

просто добавьте coodrinatorLayoutStyle как элемент в style.xml, и у меня это сработало.

Моя Android-студия версии 3.1.3.
Я работал с удалением ВСЕХ SDK версии 28.
Step - это Открыть диспетчер SDK> Платформы SDK> Показать сведения о пакете> Снять отметку SDK 28> применить и создать новый проект.

Для пользователей Android Studio 3.1.4: Я пробовал отмеченный ответ, но у меня это не сработало. Вставка этой строки:

<style name = "AppTheme.NoActionBar">
   <item name = "coordinatorLayoutStyle">@style/Widget.Design.CoordinatorLayout</item>
</style>

в тему приложения не решает проблему рендеринга, поэтому я отменил это изменение.

Решение: Я внес следующие изменения в свой файл build.gradle (Module: app):

Перед изменением:

android {
   compileSdkVersion 28
      defaultConfig {
         targetSdkVersion 28
      }
   }
}

dependencies {
   implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
   implementation 'com.android.support:design:28.0.0-rc01'
}

После изменения:

android {
   compileSdkVersion 27
      defaultConfig {
         targetSdkVersion 27
      }
   }
}

dependencies {
   implementation 'com.android.support:appcompat-v7:27.1.1'
   implementation 'com.android.support:design:27.1.1'
}

У меня это сработало отлично. Надеюсь, это будет полезно.

Возможно ли, что Google выпускает RC, а нам все еще нужно использовать 27?

tiagocarvalho92 30.08.2018 17:55

У меня такая же проблема, но на студии Android 3.1.4

Итак, сначала я сделал следующее в build.gradle

Замените это:

реализация 'com.android.support:appcompat-v7:28.0.0-rc01'

реализация 'com.android.support:design:28.0.0-rc01'

реализация 'com.android.support:support-v4:28.0.0-rc01'

с этим:

реализация 'com.android.support:appcompat-v7:28.0.0-alpha1'

реализация 'com.android.support:design:28.0.0-alpha1'

реализация 'com.android.support:support-v4:28.0.0-alpha1'

Но как-то после перестройки проекта проблема повторяется снова.

Итак, я пошел по этому пути:

Вот мой проект gradle.build

buildscript {
    ext.kotlin_version = '1.2.41'
    ext.android_support = '27.1.1'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.4'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

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

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

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

А вот приложение build.gradle

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "*****.******"//Replace with your own ID
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'

    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    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'
}

И это решит мою проблему

Спасибо

Просто измените реализацию com.android.support:appcompat-v7:28.0.0-alpha3 и com.android.support:design:28.0.0-alpha3 в альфа 1. Вот как я решил проблему.

Я отправлю ответ. Другие ответы могут сработать, но никому не нужно загружать предварительную версию, а создание материалов без панели действий - это не способ НАЧАЛО для разработки приложений с Android Studio
Наша версия Android Studio - 3.1.4. Наш API по умолчанию - 28 Наше ИСПРАВЛЕНИЕ - перейти на API 26. ВЫ сделаете это, щелкнув Файл -> Структура проекта, затем выделите приложение на вкладке «Свойства». Измените версию компиляции Sdk на API 26. Теперь щелкните вкладку Falavors и измените версию Target Sdk на 26
. Затем в build.gradle (module: app) добавьте эти изменения

implementation 'com.android.support:appcompat-v7:27.0.0'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'

Я думаю, что всегда можно было оправдать это медленное ИСПРАВЛЕНИЕ от Google, чтобы научиться использовать ToolBar.

Я решаю эту проблему, когда обновляю все инструменты SDK в IDE и обновляю Android Studio до 3.2.1.

это работает для меня, попробуйте

   compileSdkVersion 28
        defaultConfig {
            minSdkVersion 16
            targetSdkVersion 28
           }

 implementation 'com.android.support:appcompat-v7:28.0.0'
 implementation 'com.android.support:design:28.0.0'

Это проблема SDK 28

Проверьте свой файл build.gradle (Module: app) и измените:

compileSdkVersion 28

targetSdk, версия 28

К:

compileSdkVersion 27

targetSdkVersion 27

Другие вопросы по теме