77 votes

Comment afficher à la fois l'icône et le titre de l'action dans la barre d'action ?

J'ai besoin d'afficher les deux icon y title d'action à l'intérieur ActionBar .

J'ai essayé " withText "mais cela n'a aucun effet.

enter image description here

4 votes

Ce problème a-t-il été finalement résolu ? Si oui, que faut-il faire ?

1 votes

On dirait que la réponse est ici : stackoverflow.com/questions/9282122/ En bref, cette situation est due à la conception et vous devez fournir une mise en page personnalisée pour la contourner.

117voto

Yibo Long Points 301

' toujours|avec texte fonctionnera s'il y a suffisamment de place, sinon il ne placera que l'icône. Vous pouvez le tester sur votre téléphone avec la rotation.

<item android:id="@id/menu_item"
android:title="text"
android:icon="@drawable/drawable_resource_name"
android:showAsAction="always|withText" />

5 votes

Hi Eng.Faouad it is Not working for me is there any changes which we have to do programmatically ?

24 votes

Cela ne fonctionne pas même s'il y a beaucoup de pièces. L'icône et le texte ne peuvent être affichés qu'en paysage.

3 votes

@YiboLong cette réponse est obsolète car les programmes utilisent généralement la bibliothèque appCompact.

22voto

Benito Bertoli Points 9458

Vous pouvez créer des actions avec du texte de deux façons :

1- Du XML :

<item android:id="@id/resource_name"
      android:title="text"
      android:icon="@drawable/drawable_resource_name"
      android:showAsAction="withText" />

Lorsque vous gonflez le menu, vous devez appeler getSupportMenuInflater() puisque vous utilisez ActionBarSherlock .

2- De manière programmatique :

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuItem item = menu.add(Menu.NONE, ID, POSITION, TEXT);
    item.setIcon(R.drawable.drawable_resource_name);
    item.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    return true;
}

Assurez-vous d'importer com.actionbarsherlock.view.Menu y com.actionbarsherlock.view.MenuItem .

0 votes

MenuItem item = menu.add(Menu.NONE, ID, POSITION, TEXT); ID est l'identifiant de la mise en page (par exemple R.layout.myMenuItem), POSITION est la position des éléments affichés dans la barre d'action (par exemple 1,2,3 rtl), TEXT est le titre que vous voulez donner à l'élément de la barre d'action.

17voto

ebernie Points 308

Ce qui a fonctionné pour moi, c'est l'utilisation de ' toujours|avec texte '. Si vous avez de nombreux menus, vous pouvez utiliser "ifRoom" au lieu de "always".

<item android:id="@id/resource_name"
android:title="text"
android:icon="@drawable/drawable_resource_name"
android:showAsAction="always|withText" />

-2voto

Padma Kumar Points 10698

Utilisez un bouton avec drawableRight :

 <Button
     android:id="@+id/save"
     android:drawableRight="@android:drawable/ic_cab_done_holo_dark"
     android:text="Done"/>

-3voto

rao Points 1

Suivez les étapes suivantes :

  1. Ajouter l'instance de la barre d'action dans le code Java final ActionBar actionBar = getActionBar();
  2. Activer l'option d'affichage à domicile actionBar.setDisplayShowHomeEnabled(false);
  3. Ajoutez le code suivant dans le fichier manifeste de l'activité concernée android:logo=@drawable/logo and android:label="@string/actionbar_text"

Je pense que cela va vous aider

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X