2013-02-25 5 views
10

Vor Version 4.2.2 war nur das Logo anklickbar.Android 4.2.2 macht das Aktionsleisten-Symbol und den Titel klickbar, als wäre es Teil derselben Schaltfläche

Ab Version 4.2.2 kann der Titel der Aktionsleiste zusammen mit dem Logo - - angeklickt werden, als ob sie Teil derselben Schaltfläche wären.

Sie können ein Beispiel für dieses Verhalten in der Google Reader App sehen - wenn Sie ein 4.2.2-Gerät haben (siehe Screenshot im Anhang).

Wie kann ich dieses Verhalten deaktivieren und nur auf das Symbol klicken? Vielleicht ist es ein Fehler?

Siehe Beispiel-Code-Snippet:

public class MainActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getActionBar().setDisplayHomeAsUpEnabled(true); 
     getActionBar().setHomeButtonEnabled(true); 
    } 
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case android.R.id.home: 
       Intent intent = new Intent(this, MainActivity.class); 
       startActivity(intent); 
       finish(); 
       return true; 
     } 
     return false; 
    } 
} 

Clicking on the logo sets the title to also being clicked

+0

Können Sie einen reduzierten Testfall bereitstellen, der das Problem im Code zeigt? – Charles

+0

Haben Sie versucht, den Titel zu verbergen und stattdessen eine benutzerdefinierte Ansicht zu verwenden? – ebarrenechea

+0

@Charles - Qode-Snippet zur Frage hinzugefügt. Wie gesagt, es verhält sich bei 4.2.2 anders als 4.2.1 –

Antwort

2

Das ist nicht ein Fehler ist, das ist das normale Systemverhalten! Ich denke, dass sie es geändert haben, so dass die Benutzer einen größeren anklickbaren Zielbereich auf diesem Knopf haben können.

Wenn Sie nicht Ihre eigene ActionBar implementieren (vielleicht durch die Erweiterung von ActionBar Sherlock), können Sie nichts dagegen tun.

+2

Es ist nicht logisch. Der Titel repräsentiert die aktuelle Ansicht. Ein Klick darauf schickt den Benutzer zur Hauptaktivität, was überraschend war. Wenn es mich als Entwickler überraschte, würde es viele Benutzer überraschen. –

+0

In den Versionshinweisen gab es dazu auch keine Dokumentation, die sich mehr wie ein Bug anfühlt. –

+0

Ich bin nicht hier, um die Logik davon zu diskutieren.Ich sage dir nur, dass dies das neue Standard-Verhalten der Plattform ist, und es sei denn, du kannst die Jungs in Mountain View davon überzeugen, es wieder zu ändern, so wird es sein. – Budius

3

Diese Antwort scheint im Zusammenhang: https://stackoverflow.com/a/16216966/596531

habe es selbst nicht ausprobiert, weil es eine Abhilfe besten ist und meinen Code kompliziert, aber von dem wirklichen Titel versteckt soll es den Trick.

getActionBar().setHomeButtonEnabled(true); 

und (oder)

getActionBar().setDisplayHomeAsUpEnabled(true); 

, dass der Text und das Symbol klickbare mit heraus macht mit

getActionBar().setDisplayHomeAsUpEnabled(true); 

außer den Code mit:

1

verhökern hier oben^^ zeigt einen kleinen Pfeil neben dem Symbol oder Text


EDIT

Man könnte versuchen, diese

getActionBar().setHomeButtonEnabled(true); 

mit und von der Aktionsleiste Text loszuwerden, meine Vermutung ... aber das ist nicht das, was Sie wollen:/aber es macht nur das Symbol anklickbar

Verwandte Themen