Comment changer le titre et l’icône de la barre d’action Android

J’essaie de faire certaines choses sur ActionBar sous Android.

J’ai déjà ajouté de nouveaux éléments dans la partie droite de la barre d’action.

Comment puis-je changer le côté gauche de la barre d’action? Je veux changer l’icône et le texte, et je veux append un “bouton retour” dans la barre d’action pour les autres écrans

Barre d'action Android

C’est très simple à accomplir

Si vous voulez le changer en code, appelez:

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

Et définissez les valeurs à ce que vous voulez.

Ou, dans le fichier XML du manifeste Android:

  

Pour activer le bouton Retour dans votre application, utilisez:

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

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

Pour qu’une seule icône soit utilisable par toutes vos barres d’action, vous pouvez le faire dans votre manifeste Android.

  ...  

Si vous souhaitez modifier le titre de la barre d’action, indiquez simplement le code de ligne suivant dans le fichier onCreate () de votre activité.

 getActionBar().setTitle("Test"); 

Il vous suffit d’append ces 3 lignes de code. Remplacez l’icône par votre propre icône. Si vous voulez générer des icons utilisez ceci

 getSupportActionBar().setHomeAsUpIndicator(R.drawable.icon_back_arrow); getActionBar().setHomeButtonEnabled(true); getActionBar().setDisplayHomeAsUpEnabled(true); 

Vous pouvez changer l’icône dans votre fichier en ajoutant l’icône de votre choix à vos dossiers pouvant être dessinés, puis en modifiant cette ligne dans votre fichier AndroidManifest.xml:

 android:icon="@drawable/ic_launcher" 

pour correspondre quel que soit le nom de votre icône est là. Ou mettez votre icône en ic_launcher, si ce sont les mêmes icons. En ce qui concerne ce qu’il dit, ajoutez ou modifiez les chaînes qui correspondent à cela dans votre fichier res / values ​​/ ssortingngs.xml. Ensuite, à nouveau dans votre fichier AndroidManifest.xml, modifiez cette ligne:

 android:label="@ssortingng/app_name" 

à la chaîne que vous avez dans leur. Vous devrez le faire pour l’application dans son ensemble et selon les activités souhaitées, mais les lignes sont les mêmes.

J’espère que cela t’aides.

Dans Android 5.0, les directives de conception matérielle découragent l’utilisation d’icône dans actionBar

pour l’activer, ajoutez le code suivant

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

crédit va à l’auteur de cet article

Pour cela, vous pouvez le faire de deux manières: XML ou Java. Voir ici: Comment changer le texte sur la barre d’action

Alors:

XML:

   

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); } } } 

Pour le titre du jeu :

 getActionBar().setTitle("Title"); 

Pour set Icon :

 getActionBar().setIcon(R.drawable.YOUR_ICON_NAME); 
 ActionBar actionBar = getSupportActionBar(); actionBar.setTitle(getSsortingng(R.ssortingng.titolo)); actionBar.setIcon(R.mipmap.ic_launcher); actionBar.setDisplayShowHomeEnabled(true); 

J’ai utilisé l’appel suivant dans onNavigationItemSelected :

 HomeActivity.this.setTitle(item.getTitle()); 

Ajoutez le code ci-dessous dans une fonction onCreate de votre activité.

 setTitle("NewName"); 

Par défaut, le titre de la barre d’action utilisera l’étiquette de l’activité en cours, mais vous pouvez également la définir par programme via ActionBar.setTitle() .

Pour implémenter la fonctionnalité du bouton “Retour” (plus précisément “Up”) dont vous parlez, lisez la section “Utilisation de l’icône de l’application pour la navigation” du guide du développeur d’Action Bar .

Enfin, pour changer l’icône, le guide couvre également cela. En bref, la barre d’action affichera l’image fournie dans android:icon dans l’élément d’ application ou d’ activity votre manifeste, le cas échéant. La pratique typique consiste à créer une icône d’application (dans toutes les différentes densités dont vous avez besoin) nommée ic_launcher.png et à la placer dans vos drawable-* .

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

Allez à manifester dans quelle activité spécifique vous voulez changer Barre d’action Nom du titre et écrire Android: label = “Nom du titre”