Comment modifier le titre et l'icône de la barre d'action android

j'essaie de faire des choses sur la barre D'action dans Android.

j'ai déjà ajouté de nouveaux éléments dans le côté droit de la barre d'action.

Comment changer le côté gauche de la barre d'action? Je veux changer l'icône et le texte, et je voudrais ajouter un Bouton "Retour" dans la barre d'action pour les autres écrans

Android Action Bar

204
demandé sur Tot Zam 2013-01-23 19:38:24

15 réponses

C'est très simple à accomplir

si vous voulez changer le code, appelez:

setTitle("My new title");
getActionBar().setIcon(R.drawable.my_icon);

et mettez les valeurs à tout ce que vous voulez.

Ou, dans le manifeste Android fichier XML:

<activity android:name=".MyActivity" 
       android:icon="@drawable/my_icon" 
       android:label="My new title" />  

pour activer le bouton back dans votre application, utilisez:

 getActionBar().setHomeButtonEnabled(true);
 getActionBar().setDisplayHomeAsUpEnabled(true);

le code doit être placé dans votre onCreate pour que le changement d'étiquette/icône soit transparent utilisateur, mais en réalité il peut être appelé n'importe où pendant le cycle de vie de l'activité.

476
répondu dymmeh 2015-11-26 10:12:20

pour rendre une icône unique utilisable par toutes vos barres d'action, vous pouvez le faire dans votre manifeste Android.

<application
    android:logo="@drawable/Image">

    ...

</application>
16
répondu Akshat Agarwal 2015-05-12 04:21:56

si vous voulez changer le titre de la barre D'Action, il vous suffit de donner le code de ligne 1 suivant dans l'onCreate () de votre activité

getActionBar().setTitle("Test");
9
répondu Jabbir Basha 2015-08-10 16:15:39

Vous avez juste besoin d'ajouter ces 3 lignes de code. Remplacez l'icône par votre propre icône. Si vous voulez générer des icônes utiliser ce

getSupportActionBar().setHomeAsUpIndicator(R.drawable.icon_back_arrow);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
9
répondu Sagar Devanga 2016-03-17 07:46:03

vous pouvez changer l'icône dans votre en ajoutant n'importe quelle icône que vous voulez à vos dossiers dessinables respectifs, puis en changeant cette ligne dans votre AndroidManifest.fichier xml:

android:icon="@drawable/ic_launcher"

pour correspondre au nom de votre icône. Ou mettez votre icône comme ic_launcher, si elles sont la même icône. En ce qui concerne ce qu'il dit, ajoutez ou modifiez les chaînes qui correspondent à celles de votre res/values/strings.fichier xml. Puis, encore une fois dans votre AndroidManifest.fichier xml, modifier cette ligne:

android:label="@string/app_name"

quelle que soit la corde que vous avez dans leur. Vous aurez à le faire pour l'ensemble de la demande, et selon les activités que vous voulez, mais les lignes sont les mêmes.

Espérons que cette aide.

6
répondu RobStemen 2013-01-23 15:48:58

Dans Android 5.0 matériel des lignes directrices de conception de décourager l'utilisation de l'icône dans l'actionBar

pour lui permettre d'ajouter le code suivant

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.mipmap.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);

crédit va à l'auteur de ce article

6
répondu Azzy 2017-06-25 10:48:02

pour cela, vous pouvez le faire de 2 façons: XML ou Java. Voir ici: comment modifier le texte sur la barre d'action

:

XML:

<activity android:name=".Hello_World"
              android:label="This is the Hello World Application">
</activity>

Java:

public class TitleBar extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       final boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

       setContentView(R.layout.main);


       if ( customTitleSupported ) {
           getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
           }

       final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
       if ( myTitleText != null ) {
           myTitleText.setText("NEW TITLE");

           // user can also set color using "Color" and then "Color value constant"
          // myTitleText.setBackgroundColor(Color.GREEN);
       }
 }
}
5
répondu Miloš 2017-05-23 11:47:22

Pour définir le Titre :

getActionBar().setTitle("Title");

pour l'icône :

getActionBar().setIcon(R.drawable.YOUR_ICON_NAME);
3
répondu Bhaumik Sathvara 2018-03-22 17:08:04
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(getString(R.string.titolo));
actionBar.setIcon(R.mipmap.ic_launcher);
actionBar.setDisplayShowHomeEnabled(true);
3
répondu Alessandro Caliaro 2018-04-03 15:31:29

j'ai utilisé l'appel suivant à l'intérieur de onNavigationItemSelected :

HomeActivity.this.setTitle(item.getTitle());
2
répondu AmandaHLA 2017-08-17 00:02:17

ajoutez le code ci-dessous à l'intérieur d'une fonction onCreate dans votre activité.

setTitle("NewName");
1
répondu Chandrahasa Rai 2018-04-13 14:09:49

le titre de la barre d'action utilisera, par défaut, le label de l'activité courante, mais vous pouvez également le définir par programmation via ActionBar.setTitle() .

pour mettre en œuvre la fonctionnalité du bouton" Back "(plus précisément," Up") dont vous parlez, lisez la section" Using the App Icon for Navigation "du Action Bar developer guide .

Enfin, pour changer l'icône, le guide couvre aussi bien. En bref, la barre d'action affichera l'image fournie dans android:icon dans l'élément application ou activity de votre manifeste, s'il y en a un. La pratique habituelle est de créer une icône d'application (dans toutes les densités dont vous avez besoin) nommée ic_launcher.png , et de la placer dans vos répertoires drawable-* .

0
répondu CloudyMusic 2013-01-23 15:50:25

j'ai eu non-static method setTitle(CharSequence) cannot be referenced from a static context erreur parce que j'ai utilisé setTitle() dans la classe statique PlaceholderFragment. Je l'ai résolu en utilisant getActivity().getActionBar().setTitle("new title");

0
répondu user4757345 2015-03-15 18:16:24

aller à manifester dans quelle activité spécifique vous voulez changer le titre de la barre D'Action nom et écrire android:label="nom du Titre"

0
répondu Abhishek Rajpurohit 2018-04-09 06:55:48

ce travail pour moi:

getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeAsUpIndicator(R.mipmap.baseline_dehaze_white_24);
0
répondu Ram Chhabra 2018-09-23 09:32:58