Image d’arrière-plan ActionBar

J’ai hérité du thème Holo Light et personnalisé l’arrière-plan de la barre d’action avec les éléments suivants:

Contenu de styles.xml

   @drawable/actionbar_background   @style/ActionBar   

Contenu de actionbar_background.xml

   

Au lieu d’être répétée, l’image est étirée, aucune idée de pourquoi android: tileMode = “repeat” n’est appliquée?

Merci d’avance

Ok, grâce à Romain Guy sur le canal IRC # android-dev, c’est un bogue connu sur Honeycomb / Android 3.0 qui sera corrigé dans la prochaine version. Depuis lors, la seule solution est de le faire à partir du code, et ça marche 🙂

  final ActionBar actionBar = getActionBar(); BitmapDrawable background = new BitmapDrawable (BitmapFactory.decodeResource(getResources(), R.raw.actionbar_background)); background.setTileModeX(android.graphics.Shader.TileMode.REPEAT); actionBar.setBackgroundDrawable(background); 
 Drawable d=getResources().getDrawable(R.drawable.background_image_name); getActionBar().setBackgroundDrawable(d); 

Le code ci-dessus définit l’image d’arrière-plan de la barre d’action.
J’espère que cela aide.

Vous pouvez facilement faire cette chose. Si vous souhaitez modifier l’image d’arrière-plan de la barre d’action, placez ce code dans votre fichier res / styles.xml.

    

Pour cela, vous devez sélectionner une image à partir du dossier “drawable”. Ici je sélectionne une image “tp_black_bg.png”

Après cela, n’oubliez pas de déclarer ce thème dans votre fichier AndroidManifest.xml

  ............. 

Maintenant, vous pouvez rouvrir tout fichier de mise en page XML, vous pouvez facilement voir l’effet. De la même manière, vous pouvez également modifier la couleur d’arrière-plan d’ActionBar.

Merci.

Utilisez getSupportActionBar () depuis android.support.v7 pour une compatibilité descendante.

 mActionBar.setBackgroundDrawable(getResources().getDrawable(R.drawable.navbar));