2013-02-25 13 views
10

Prima della 4.2.2, solo il logo era cliccabile.Android 4.2.2 rende l'icona della barra delle azioni e il titolo cliccabili come se facessero parte dello stesso pulsante

A partire da 4.2.2, il titolo della barra delle azioni è selezionabile insieme al logo - sia come parte dello stesso pulsante.

È possibile visualizzare un esempio di questo comportamento nell'app Google Reader - se si dispone di un dispositivo 4.2.2 (vedere screenshot allegato).

Come disabilitare questo comportamento e abilitare facendo clic solo sull'icona? Forse è un bug?

vedi codice frammento di esempio:

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

Puoi fornire un test case ridotto che mostri il problema nel codice? – Charles

+0

Hai provato a nascondere il titolo e utilizzare invece una visualizzazione personalizzata? – ebarrenechea

+0

@Charles - aggiunto lo snippet di qode alla domanda. Come ho detto, si comporta in modo diverso su 4.2.2 rispetto a 4.2.1 –

risposta

2

Questo non è un bug, questo è il comportamento del sistema normale! Suppongo che l'abbiano cambiato in modo che gli utenti possano avere un'area di destinazione cliccabile più grande su quel pulsante.

A meno che non si implementi il ​​proprio ActionBar (magari estendendo ActionBar Sherlock) non c'è nulla che tu possa fare al riguardo.

+2

Non è logico. Il titolo rappresenta la vista corrente. Cliccandoci sopra manda l'utente all'attività principale, che è stata una sorpresa. Se mi sorprendesse, come sviluppatore, sorprenderebbe molti utenti. –

+0

Inoltre, non c'era alcuna documentazione a riguardo nelle note di rilascio, che sembra più un bug. –

+0

Non sono qui per discuterne la logica.Ti sto solo dicendo che questa è la nuova piattaforma di comportamento standard e a meno che non riesci a convincere i ragazzi di Mountain View a cambiarlo, è così che sarà. – Budius

3

Questa risposta sembra correlato: https://stackoverflow.com/a/16216966/596531

Non ho provato io stesso, perché è una soluzione al meglio e complica il mio codice, ma nascondendo il vero titolo dovrebbe fare il trucco.

1

Sbarazzarsi:

getActionBar().setHomeButtonEnabled(true); 

e (o)

getActionBar().setDisplayHomeAsUpEnabled(true); 

che rende il testo e l'icona cliccabile con fuori usando

getActionBar().setDisplayHomeAsUpEnabled(true); 

tranne utilizzando il codice sopra qui ^^ mostra una piccola freccia accanto all'icona o al testo


EDIT

Si potrebbe provare a utilizzare questa

getActionBar().setHomeButtonEnabled(true); 

e di sbarazzarsi del testo barra delle azioni, la mia ipotesi ... ma non è ciò che si desidera:/ma fa solo l'icona cliccabile

Problemi correlati