6

So haben wir ActionBarSherlock erfolgreich aus der Zappos App zugunsten der neuen ActionBarCompat entfernt und es funktioniert gut auf Honeycomb +, aber auf Gingerbread erweitert die Aktionsleiste den gesamten Bildschirm und ich kann nicht herausfinden, warum Es passiert. Wir haben im Grunde alle Themen/Stile/Verweise auf ActionBarSherlock geändert, um die Entsprechungen in ActionBarCompat zu sein. Unten ist ein Screenshot des Problems. Irgendjemand anderes läuft auf GB davon und kennt einen Fix? Es hält eine Freigabe für uns: \ActionBarCompat auf Gingerbread füllt den ganzen Bildschirm

+0

Es sieht so aus, als ob Sie benutzerdefinierte Ansichten in der Aktionsleiste haben. Was passiert, wenn Sie ihre Höhe auf wrap_content setzen? – Krylez

Antwort

5

Okay, so habe ich es endlich aus ... wir den appcompat Quellcode als Bibliothek-Projekt kopiert hatte, anstatt mit dem com.android.support:appcompat -v7: 18.0. + Abhängigkeit in Großbuchstaben. Nach dem Wechsel zu der Abhängigkeit in Gradle und dem Entfernen der appcompat-Quelle aus unserem Projekt funktioniert es nun wie beabsichtigt.

+0

Haben Sie eine Idee zur Grundursache für dieses Problem? Das Entfernen des Bibliotheksprojekts und das Hinzufügen als Artefakt im Maven-Stil behob mein Problem ebenfalls, aber ich fragte mich nur, warum das der Fall ist. –

0

stand ich ein ähnliches Problem, wo die ActionBar den gesamten Bildschirm gefüllt, wenn ich von der Nutzung ActionBar AppCombat ging ActionBarSherlock zu verwenden . In der Datei valide-v11 style.xml. Ich musste dort den ActionBar Style entfernen, der von der ActionBar appCombat erbt.

0

Ich hatte auch dieses Problem. Das Problem war, dass meine Themendefinitionen für Gingerbread auf einen Stil hinwiesen, der nicht existierte.

Ich hatte dies in values/themes.xml:

<item name="actionBarStyle">@style/mytheme_solid_ActionBar</item> 

Aber diese mytheme_solid_ActionBar nur in values-v11/styles.xml und values-v14/styles.xml definiert wurde.

Ich musste es einfach zu values/styles.xml hinzufügen, so dass Gingerbread Geräte einen richtigen Stil für die Aktionsleiste definiert haben (die von Widget.AppCompat.Light.ActionBar.Solid.Inverse erbt).

0

Mein Problem war das Elternteil, von dem meine benutzerdefinierte actionBarStyle erbte.

<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="actionBarStyle">@style/sfActionBar</item> 
    <item name="android:actionBarStyle">@style/sfActionBar</item> 
</style> 

Meine benutzerdefinierten Stil war ursprünglich:

<style name="sfActionBar" parent="Widget.Sherlock.ActionBar">...</style> 

Die Veränderung aber Lebkuchen, um es auf alles funktionieren wurde:

<style name="sfActionBar" parent="@android:style/Widget.ActionBar">...</style> 

Die richtige Änderung:

<style name="sfActionBar" parent="@style/Widget.AppCompat.ActionBar">...</style> 
0

Sobald ich ähnliche iss hatte e (Die Farbe der Symbolleiste füllte den ganzen Bildschirm auf Gingerbread) und die Lösung bestand darin, android:clipChildren="false" aus der übergeordneten Ansicht der Toolbar zu entfernen.