Проблема рендеринга в андроид студии android.support.design.widget.CoordinatorLayout
Во-первых, я только начинаю разработку Android, поэтому, пожалуйста, миритесь с моим недостатком знаний.
Две вещи, которые мой ученик не узнает
testCompile 'junit: junit: 4.12'
Но если я выделю код junit в gradle, то проект будет работать нормально. В чем причина этого и будет ли это проблемой позже в цикле разработки. Как исправить если так.
И моя основная функция просто не распознает так много библиотек.
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.mycompany.myfirstapp"
minSdkVersion 8
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:design:23.1.0'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:gridlayout-v7:23.1.0'
}
Во-вторых, даже при хорошем построении Gradle у меня есть проблема рендеринга, и предварительный просмотр дизайна не будет отображаться, несмотря ни на что. Я попробовал такие решения, как
изменение APK, изменение тем из проектов, добавление appcompat в зависимости (был только один v7:23.1.0). Ничто действительно не помогло. Как я могу исправить проблему рендеринга и начать работать в Android Studio?
Rendering Problems The following classes could not be instantiated:
- android.support.design.widget.AppBarLayout (Open Class, Show Exception, Clear Cache)
- android.support.design.widget.CoordinatorLayout (Open Class, Show Exception, Clear Cache)
Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE Exception Details 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:34) at android.support.design.widget.AppBarLayout.<init>(AppBarLayout.java:145) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:756) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) at android.view.LayoutInflater.rInflate(LayoutInflater.java:728) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:373) Copy stack to clipboard The surrounding layout (@layout/activity_my) did not actually include this layout. Remove tools:showIn=... from the root tag.
2 ответа
Не ответ - но у меня ОБА одинаковые проблемы - и я пытался закомментировать пункт, который вы выделили таким же образом. Надеюсь, кто-то перезвонит в -Я обновлюсь, если выясню это.
Обновление: для решения проблемы junit - перейдите в app>build.gradle (там же, где вы закомментировали строку). В разделе Android выше, добавьте:
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
и затем повторно синхронизировать. Это решило эту проблему для меня.
Что касается другого вопроса, когда я зашел в селектор тем и выбрал "AppCompat.Light". Как только я выбрал это, предварительный просмотр больше не выдавал ошибку. Хотя я должен отметить - я не могу перетащить объекты виджета в предварительный просмотр, как я могу на моем Mac, поэтому мне все еще нужно разобраться с этой частью.
Обновление 3: эта часть тоже выяснилась - пришлось выбрать приложение>src>main>layout>content_main.xml - тогда я мог бы начать перетаскивать вещи поверх.
Попробуй это. У меня была такая же проблема с моим инструментом.