Android Studio SDK Version 22 Ausnahme beim Rendern: action_bar
Lesezeit: 4 Minuten
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. 🙂
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
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.
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.
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.
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:
Ich habe es durch Ändern behoben buildToolsVersion "21.1.2"an build.gradle(Modul: App),
Verwende nicht buildToolsVersion "22"
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.!
11148300cookie-checkAndroid Studio SDK Version 22 Ausnahme beim Rendern: action_baryes