Проблеми з візуалізацією в Android Studio v 1.1 / 1.2


76

Коли я додаю android.support.v7.widget.Toolbarчи інше android.support.v7.widget.*, виникають проблеми з рендерингом.

Але бібліотека підтримки оновлюється . І я відповідав нормам залежностей належним чином. Я можу імпортувати їх уMainActivity.java

В чому проблема?


1
яку версію SDK ви вибрали для рендерингу
EpicPandaForce

Android Sdk Toold v24.1.2. Все оновлено. Проблема: він не може відображатись у макеті android.support.v7.widget.Toolbar
Zhambulable

1
наступні класи не вдалося знайти android.support.v7.widget.toolbar
Zhambulable

Що ви маєте на увазі при отриманні проблем? Ви маєте на увазі, коли ви запускаєте програму або коли ви дивитесь на макет через IDE в "попередньому перегляді"?
Джаред Берроуз,

Відповіді:


96

Я не знаю, допоможе це чи ні, але я створював тестовий проект (безпосередньо від майстра, без спеціального коду) і отримував цю помилку. Спроба змінити структуру проекту та пошук відсутнього класу не допомогла.

Помилка збірки з такою помилкою:

*** проблеми з візуалізацією

Наступні класи не вдалося знайти android.support.v7.internal.widget .ActionBarOverlayLayout ***

Очевидно, що це не остаточне рішення, але зміна теми в поданні дизайну з базової "теми проекту" на що-небудь інше дозволяє їй будувати.


not не є остаточним рішенням, але є гарною ідеєю :) і працює, але як я можу правильно виправити цю помилку? десь знаєте?

2
Я хотів би сказати вам, що саме це таке, але помилка не зникає в Android Studio 1.2. Створення нового проекту з порожнім завданням генерує ту ж помилку, що і вище. Це може вирішитись самостійно, коли ви фактично починаєте створювати макет, але зміна теми здається найкращим способом перейти до мене. Інші можуть вважати зміну API збірки правильною, але це не рішення, яке я віддаю перевагу.
Зевс56,

Я зіткнувся з подібною проблемою, але коли я видалив застарілий ActionBarActivity і замість цього використав AppCompatActivity, тоді все вдалося без жодних змін. Сторінка посилається на зміни для v7 AppCompat бібліотеки.
Neeraj

Я новачок у роботі з Android Studio. Як змінити тему проекту після того, як ви вже створили проект?
DaveTheMinion

200

ОНОВЛЕННЯ : Очевидно, вони виправили цю помилку в остаточному випуску Android Studio 1.3 (згідно з повідомленнями користувачів, що цю проблему вирішено в засобі відстеження проблем: https://issuetracker.google.com/issues/37043358 ).

Це відома помилка з моменту збірки Android Studio 1.1, яка все ще існує у версіях AS 1.2 і 1.3 бета-версії. Переключення рівня API попереднього перегляду з 22 на 21 виправляє проблему для більшості людей. Чекаючи виправлення, ви можете спробувати його також.

Попередній перегляд макета Android Studio - переключіть API на 21

ОНОВЛЕННЯ: Це вже повідомляється як відома проблема Android Studio ( http://tools.android.com/knownissues#TOC-Can-t-Render-Layouts-in-Android-Studio-1.2 )


1
Також відбувається в Eclipse
villamejia

@villamejia Чи це вирішення проблеми також виправляє це в Eclipse?
david.schreiber

1
@Zhambulable погляньте на цю відповідь ... я думаю, це слід позначити як правильну (це просто має сенс)
SoliQuiD

1
У мене була точно така ж проблема Android Studio 1.2, перехід API 22 на API 21
вирішив

1
Ні, ця проблема все ще існує в Android Studio 1.4. Будь-яке рішення?
Скотт Чу

62

Можливі рішення, які працювали у мене:

1 -> Додайте слово База.до початку назви теми, щоб вона читалася"Base.Theme.AppCompat.Light.DarkActionBar"

тобто, змініть батьківського додатка AppTheme у res / values ​​/ styles.xml, щоб вирішити цю проблему. Замінити

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

з

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

АБО

2-> Понизьте рівень API з 22 на 21 на панелі попереднього перегляду, як запропонував @ david.schreiber



2
це мала бути обрана відповідь
Mightian

29

Я змінив AppTheme над графічним попереднім переглядом на Base.Theme.AppCompat, і він для мене зник. Це працювало як на 19, так і на 22 API :)! Успіху вам усім!

подивись, що я зробив
натисніть, щоб збільшити зображення


Хоча це посилання може відповісти на питання, краще включити сюди основні частини відповіді та надати посилання для довідки. Відповіді лише на посилання можуть стати недійсними, якщо пов’язана сторінка зміниться.
lshettyl

2
@LShetty: якщо i.stack.imgur.com не працює, ми всі в купі неприємностей.
Майкл Майєрс

Але що, якщо у вас є власна тема програми (яка сама є Base.Theme.AppCompat...батьківською)? Чи не хочете ви переглянути, як виглядає макет із вашою темою?
user1987392

Я кілька місяців дивився на екрани помилок, перш ніж це знайшов. Дякую!
1майк12,

8

Я змінив тему програми з " Theme.AppCompat.Light.DarkActionBar" на " Base.Theme.AppCompat.Light.DarkActionBar"


2

Я зіткнувся з цією проблемою щойно в Android Studio 1.2.1.0 з вибраним API 22 (Android 5.1.1) без зміни теми або API, як пропонували інші в цій темі.

Коли я оновився до останньої версії Android Studio, доступної за допомогою регулярної перевірки оновлень, зараз вона працює нормально. Це не повинно бути проблемою в новій версії Android Studio 1.2.1.1


1

Змініть версію Android з 22 на 21, проблема вирішена, це маленький значок андроїда у верхньому правому куті,


1

Додавши відповідь david.schreiber, якщо ви тримаєте попередній перегляд у тісному вікні, ви можете розтягнути його, щоб отримати доступ до цієї піктограми Android.

введіть тут опис зображення

введіть тут опис зображення


1

Я використовую Android Studio 1.2 як стабільну версію, і у мене така сама проблема.

Для мене рішенням було використовувати Canary Channel та оновити Android Studio до версії 1.3.

Зараз у мене є ця версія, і вона працює ідеально, але це не стабільна версія

введіть тут опис зображення

Мій build.grade - це

застосувати плагін: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion '21.1.2'

    defaultConfig {
        applicationId "com.androidtest.materialdesign"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
}


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.