web-dev-qa-db-fra.com

Supprimer la flèche gauche de la barre d’action dans Android?

Je souhaite supprimer la flèche gauche de la barre d’action et ne demander que l’icône et le titre.

Mon code:

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

Mais cela ne supprime pas la flèche gauche. De l'aide!!

23
info

Selon la spécification Spécification Android : Pour activer l'icône de navigation vers le haut (qui affiche l'indicateur "haut" à côté de l'icône), appelez setDisplayHomeAsUpEnabled (true) sur votre ActionBar. :

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

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

Vous devez donc définir actionBar.setDisplayHomeAsUpEnabled (false);

UPDATE: Je teste le code suivant avec ActionBar sherlock et son travail. Il n'y a pas de flèche arrière:

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

Vous devez ajouter ceci à votre thème actionBar. Vous pouvez remplacer l'image de la flèche par votre propre image pouvant être transparente 

<item name="Android:homeAsUpIndicator">@drawable/action_arrow</item>
22
vivek
getActionBar().setHomeAsUpIndicator(R.drawable.action_arrow);

Où action_arrow est un png transparent de 25x10px. Le même code pour sherlock serait:

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

@vivek: fonctionne très bien. Je ne recommande pas d'utiliser @Android: color/transparent comme l'a dit Tim Cooper, car le titre est aligné à gauche. Donc une image vide, c'est mieux

1
defim

Dans AndroidManifest.xml

supprimez le code ci-dessous, ce qui supprimera le bouton retour de votre barre d'actions

Android:parentActivityName=".Main.MainActivity">
<meta-data
Android:name="Android.support.PARENT_ACTIVITY"
Android:value=".Main.MainActivity" />

Il suffit de le garder comme ci-dessous:

<activity
Android:name=".YourActivity"
Android:label="@string/your_activity_label">
</activity>
0
keshav