it-swarm.com.ru

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

Я использую последнюю версию Android Studio (3.0), а также последние инструменты для сборки (27) и аналогичный уровень API.

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

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

62
Jeet

Я решил эту проблему рендеринга, просто вставив эту строку в тему приложения (тема приложения обычно помещается в 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>

По предложению @Chris. Если IDE не находит CoordinatorLayout в Widget.Support или Widget.Design, просто начните вводить «CoordinatorLayout», и он должен дать вам несколько вариантов.

102
t-igra

Оказывается, новый 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'
35
Geraldo Neto

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

11
tony Macias

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

Решение: Я обновил свою функцию 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
7
Anu Bhalla

Для пользователей 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'
}

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

6
kaspiotr
 <style name="Theme.Shrine" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="coordinatorLayoutStyle">@style/Widget.Support.CoordinatorLayout</item>
</style>

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

6
Muzammil Husnain

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

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

5
Jeet

Я думаю, что это общая проблема в Android Studio 3.0 +, Надеюсь, они исправят это в следующем обновлении. В Android Studio Preview 3.2 он отлично работает . Загрузить Android Studio Preview enter image description here

2
Nishan Chathuranga

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

1
landongtom

У меня такая же проблема но на андроид студии 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'
}

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

Спасибо

1
Georgy Ivanov

Кроме того, в режиме конструктора 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.

1
Phillip

Я опубликую ответ. Другие ответы могут работать, но никому не нужно загружать предварительную версию, а создание материалов без панели действий - это не способНАЧАТЬразработку приложений с помощью Android Studio.
Наша версия Android Studio - 3.1.4 Наш API по умолчанию - 28 Наш FIX - перейти на API. 26 ВЫ делаете это, нажав File -> Project Structure, затем выделите app под Свойства TAB Изменить версию Compile 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'

Я думаю, что всегда можно оправдать этот медленный FIX от Google, чтобы научиться использовать панель инструментов

1
Grendel

Это может быть существующая проблема: https://issuetracker.google.com/issues/37048767

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

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

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

0
Gokul Nath KP

<!-- 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, и это сработало для меня.

0
sounak mondal

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

0
Soufiane Kre

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

0
Ivan Andreyshev

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

   compileSdkVersion 28
        defaultConfig {
            minSdkVersion 16
            targetSdkVersion 28
           }

 implementation 'com.Android.support:appcompat-v7:28.0.0'
 implementation 'com.Android.support:design:28.0.0'
0
Neeraj Singh

Это Результат SDK 28

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

compileSdkVersion 28

targetSdkVersion 28

Для того, чтобы:

compileSdkVersion 27

targetSdkVersion 27

0
Sachin Jagtap