Android Studio SDK Version 22 Ausnahme beim Rendern: action_bar

Lesezeit: 4 Minuten

Benutzer-Avatar
Ali Aras

Wenn ich ein neues Projekt auf Android Studio erstelle, gibt es keine Probleme. Betrachtet man jedoch die activity_main.xml design it is zeigt mir folgendes:

Rendering-Probleme Beim Rendern ausgelöste Ausnahme: action_bar.

Wenn ich SDK-Level 22 auf 21 von der Designseite ändere, zeigt Android Studio nichts an

Wie kann ich dieses Problem lösen? Dies ist kein wichtiges Problem, aber ich habe mich gefragt, wie ich das beheben kann.

Ja, ich musste nur das Android-Level im Dropdown-Menü anpassen. Die Design-Tab-Vorschau in API-Level 22 ist derzeit defekt. Ich habe nach dem Stack-Trace für den Fehler gesucht und es hat etwas damit zu tun, dass der Alphakanal benötigt wird. Ich bin sicher, Google wird es am Montag beheben. 🙂
Geben Sie hier die Bildbeschreibung ein

  • Ich denke, es ist immer noch nicht behoben 🙁

    – Raman Singh

    4. April 2015 um 17:38 Uhr

  • Noch immer nicht. wurde es gemeldet?

    – Menachem Hornbacher

    7. April 2015 um 21:53 Uhr

  • Montag in welchem ​​Monat/Jahr? 🙂

    – Albert M

    10. Juni 2015 um 12:45 Uhr

  • Dieser Montag kommt nicht

    – David

    18. Juli 2015 um 12:27 Uhr


Benutzer-Avatar
colintheshots

ActionBar ist zugunsten der Toolbar veraltet, die in API 21 hinzugefügt wurde. Das Basisdesign für die Vorlagen von Android Studio scheint jedoch immer noch ActionBar-basierte Designs zu verwenden.

Die Lösung besteht nicht darin, die Version Ihrer Build-Tools herunterzustufen, sondern das Basisthema Ihrer App zu ändern. Wenn Sie Ihre Build-Tools herabstufen, verpassen Sie die Unterstützung für die neuesten Funktionen, die in Android 5.1 und höher hinzugefügt wurden.

Ihr Basisdesign ist in AndroidManifest.xml unter application/android:theme aufgeführt.

Wechseln Sie zu res/values/styles.xml und ändern Sie das übergeordnete Attribut in ein anderes Basisdesign, das nicht auf der veralteten ActionBar basiert. In dem unwahrscheinlichen Fall, dass Ihre App API 21+ ist, können Sie Theme.Material verwenden. Andernfalls müssen Sie Theme.AppCompat.NoActionBar verwenden oder Ihr eigenes Basisdesign definieren.

Hier ist ein Beispiel für styles.xml:

<style name="AppTheme.Base" parent="Theme.AppCompat">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="android:windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
</style>

Wenn Sie dies verwenden, stellen Sie sicher, dass Sie ein Toolbar-Element in Ihren XML-Layouts dort einfügen, wo die ActionBar angezeigt werden soll. Sie müssen die Toolbar mit untergeordneten XML-Tags anpassen. Ich empfehle die Verwendung von <include> Schild. Wie es in der Toolbar-Dokumentation heißt, erfordern die neuen Designprinzipien von Google eine Änderung des visuellen Stils:

In modernen Android-UIs sollten sich Entwickler mehr auf ein visuell deutliches Farbschema für Symbolleisten als auf ihr Anwendungssymbol verlassen. Von der Verwendung von Anwendungssymbol plus Titel als Standardlayout wird auf API 21-Geräten und höher abgeraten.

android.support.v7.widget.Toolbar befindet sich in der Support-Bibliothek für Geräte vor API 21.

BEARBEITEN: Wie der erste Kommentar zeigt, hat Google einen Blog, in dem erklärt wird, wie man die neue Toolbar verwendet. http://android-developers.blogspot.kr/2014/10/appcompat-v21-material-design-for-pre.html

  • Dies ist die vollständige zukunftssichere Antwort. Der Blog der Android-Entwickler enthält einige wirklich gute Dokumentationen zu dieser Situation android-developers.blogspot.kr/2014/10/….

    – jalvarado91

    5. April 2015 um 17:40 Uhr


Entschuldigung für das Problem Jungs. Der Grund für das Problem ist, dass die Rendering-Bibliothek jetzt versucht, mehr vom tatsächlichen Code aus der appcompat-Bibliothek zu verwenden, um genauer zu sein. Dies hat jedoch einige Fehler im Android Studio aufgedeckt, wenn das Projekt nicht erstellt wird.

Es ist nicht erforderlich, Ihre Gradle-Dateien zu aktualisieren oder die Stile zu ändern, wie einige der Antworten vermuten lassen.

Die Problemumgehung besteht darin, das Projekt einmal zu erstellen und dann das Rendering zu aktualisieren, indem Sie den Cache leeren. Siehe das angehängte Bild für das Aktualisierungssymbol, das den Cache löscht.

Position der Schaltfläche „Aktualisieren“.

  • DANKE VIELMALS! Hat echt geholfen 🙂

    – Menachem Hornbacher

    20. April 2015 um 18:50 Uhr

Diese Antwort hat bei mir funktioniert:

MyActivity extends AppCompatActivity

Anstatt von:

MyActivity extends ActionBarActivity   // now deprecated

Gehen Sie zurück zu Ihrer Vorschau, leeren Sie den Cache und aktualisieren Sie!

Nach Tagen der Frustration habe ich endlich herausgefunden, dass die Antwort in der build.gradle meines App-Moduls liegt! Ich habe die geändert buildToolsVersion aus 22 zu 21.1.2 um genau diese Ausnahme wie Ihre richtig zu lösen. Es scheint irgendetwas damit zu tun zu haben API 22: Android 5.1 macht im Moment Schluckauf. Hoffentlich behebt Google das bald.

Das Ändern dieser Zeilen in build.gradle hat mir eine schnelle Lösung für dieses Problem gegeben:

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"
}

Benutzer-Avatar
SMR

Ich habe es durch Ändern behoben buildToolsVersion "21.1.2"an build.gradle (Modul: App),

Verwende nicht buildToolsVersion "22"

Benutzer-Avatar
Pranav2579

Bitte verwenden Sie die Build-API21, um die Vorschau anzuzeigen. Ich bin auf einem Mac und Build 22 ist kaputt / funktioniert bei mir nicht. Als ich zurück zu Build 21 wechselte, konnte ich die Vorschau sehen.!

1114830cookie-checkAndroid Studio SDK Version 22 Ausnahme beim Rendern: action_bar

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy