Verwendung der Support-Aktionsleiste zu Hause aktiviert

8

Ich habe gerade unseren Code geändert, um die neue SupportActionBar zu verwenden, die in der v7-appcompat-Bibliothek enthalten ist, aber wenn der Code auf einem Jellybean-Telefon ausgeführt wird (vermutlich existiert das gleiche Problem für Honeycomb und Ice Cream Sandwich), ist der Home-Button nicht verfügbar scheinen jemals aktiviert zu sein.

Aufruf von getSupportActionBar (). setHomeButtonEnabled (true); scheint nicht zu tun, was es sagt, aber funktioniert für Gingerbread Telefone.

Wenn ich es durch getActionBar () ersetzen. setHomeButtonEnabled (true) funktioniert es.

Das Thema, das ich für v11 + verwende, lautet wie folgt:

%Vor%

Und der Aktionsleistenstil v11 + ist definiert:

%Vor%

Jeder weiß, warum der Home-Button nicht aktiviert wird, wenn er auf einer Android-Version läuft, die die Aktionsleiste korrekt unterstützt.

=== UPDATE === Ich habe gerade den Quellcode für die appcompat-Bibliothek angeschaut und mir ist folgendes in ActionBarImplBase aufgefallen, das mir falsch aussieht:

%Vor%

Dies bedeutet, dass die Home-Taste nur aktiviert wird, wenn die Android-Version kleiner als ICS ist oder wenn ich die Auf-Anzeige aktiviert habe? - was ich nicht will.

    
Barry Irvine 10.10.2013, 09:58
quelle

5 Antworten

13

Haben Sie versucht, alle drei zu verwenden (versuchen Sie auch, für getSupportActionbar() zu tauschen)?

%Vor%

Haben Sie versucht, den Button manuell zu bedienen?

%Vor%     
Kc Gibson 10.10.2013 10:15
quelle
9

Dieser hat für mich funktioniert:

%Vor%

Die Methode onSupportNavigateUp() wird aufgerufen, wenn Sie in SupportActionBar die Zurück-Schaltfläche verwenden.

    
Jason Saruulo 20.01.2015 19:58
quelle
1

Versuchen Sie, die Sherlock-Bibliothek für Android-Geräte wie Gingerbread cos android Aktionsleisten zu verwenden, wird nur von 3.0 aufwärts unterstützt, so dass die Sherlock-Sperrbibliothek Abwärtskompatibilität bietet.

Ссылка - Bibliothek hier herunterladen.

Fügen Sie dann diese Zeilen in Ihrem Code hinzu.

%Vor%

Dies würde Ihnen helfen, einen Back-Home-Key in Ihrer Aktionsleiste hinzuzufügen. Es würde auch Ihr Symbol unsichtbar machen, wenn Sie es nicht zeigen möchten. Wenn Sie jedoch möchten, dass Ihr App-Symbol bei allen Aktivitäten angezeigt wird, geben Sie einfach die folgende Zeile ein.

actionBar.setIcon (android.R.color.transparent);

    
user2754532 10.10.2013 10:43
quelle
1

Jetzt bitte versuchen Sie es. Weil ich mein eigenes Problem so lösen konnte, obwohl es auf Sherlock war. Von Ihren oben genannten Stilen kann ich sehen, dass Sie einige Anpassungen an Ihren Themen vorgenommen haben. In meinem Fall habe ich einige Anpassungen an meinem Sherlock Theme vorgenommen und dies war das Problem, das mir auf Android 4.0 und über meinem Thema gescheitert ist. also habe ich einfach ein stück code hinzugefügt, das android sagt, das standard-sherlock-thema zu verwenden, wenn es auf android 4.0 und höher läuft. Ich nehme an, das würde für dich funktionieren. Sie sagen Android, das Standardthema der v7-appcompat-Bibliothek auf der Android-Version zu verwenden, die nicht für Sie funktioniert.

Code ist unten:

%Vor%

Bearbeiten Sie in Ihrem Fall das Design in der v7-appcompat-Bibliothek.

Bitte als Antwort markieren, wenn es für Sie funktioniert. Ich glaube, dass es möglich sein könnte, das Thema aus dem Code für Orte anzupassen, an denen Sie dieses verwenden.

    
user2754532 11.10.2013 14:27
quelle
0

Sie können Ihrer Aktivität eine ActionBar hinzufügen, wenn Sie auf API-Ebene 7 oder höher ausgeführt wird, indem Sie ActionBarActivity Klasse für Ihre Aktivität und setzen Sie das Aktivitätsthema auf Theme.AppCompat oder ein ähnliches Thema.

    
VikramV 11.10.2013 04:25
quelle