2013-05-27 2 views
23

Desidero rimuovere la freccia sinistra dalla barra delle azioni e sono necessari solo l'icona e il titolo.Rimuovere la freccia sinistra dalla barra delle azioni in Android?

Il mio codice:

getSupportActionBar().setIcon(R.drawable.logo); 
getSupportActionBar().setDisplayShowTitleEnabled(true); 
getSupportActionBar().setTitle(R.string.dashboardtitle); 
getSupportActionBar().setDisplayHomeAsUpEnabled(false); 

Ma questo non elimina la freccia sinistra. Qualsiasi aiuto!!

+2

mi sarei aspettato 'setDisplayHomeAsUpEnabled (false)' per farlo. Stai facendo qualcosa relativo alla barra delle azioni in un tema personalizzato? – CommonsWare

+0

Non voglio solo rimuovere quella freccia sinistra dalla barra delle azioni – info

+0

Qual è la versione di Android SDK che viene eseguita? – Borys

risposta

21

conformità con la denominazione android specification: Per abilitare l'icona per un massimo di navigazione (che visualizza l'indicatore "up" accanto all'icona), chiamare setDisplayHomeAsUpEnabled (vero) sul tuo ActionBar:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 
    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
    ... 
} 

Così è necessario impostare actionBar.setDisplayHomeAsUpEnabled (false);

UPDATE: I test codice successivo con ActionBar sherlock ed è il lavoro. Non c'è una freccia indietro:

getSupportActionBar().setIcon(R.drawable.ic_launcher); 
getSupportActionBar().setDisplayShowTitleEnabled(true); 
getSupportActionBar().setTitle(R.string.about_event_location); 
getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
+7

L'OP ha già questo, secondo la domanda. – CommonsWare

+0

rimane ancora un piccolo spazio nero – Gattsu

22

È necessario aggiungere questo al tema actionBar. È possibile sostituire l'immagine della freccia con la propria immagine, che può essere trasparente

<item name="android:homeAsUpIndicator">@drawable/action_arrow</item> 
+4

Questo ha funzionato! Ho dovuto impostare il nuovo drawable su un'immagine trasparente di una certa larghezza, dal momento che l'uso di '@android: color/transparent' non include alcuna padding a sinistra dell'icona dell'app. –

+0

È possibile utilizzare @null per evitare di creare una risorsa immagine trasparente. @ null

1

@vivek: grandi opere. Non consiglio di usare @android: color/transparent come ha detto Tim Cooper, perché il titolo è allineato a sinistra. Quindi un'immagine vuota è migliore

+5

Sembra più un commento che una risposta. – bummi

3
getActionBar().setHomeAsUpIndicator(R.drawable.action_arrow); 

Dove action_arrow è un png trasparente 25x10px. stesso codice per sherlock sarebbe:

getSupportActionBar().setHomeAsUpIndicator(R.drawable.action_arrow);