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!!
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);
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>
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);
@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
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>