L'icône principale de mon application est composée de deux parties dans une image: un logo et quelques lettres en dessous. Cela fonctionne bien pour l'icône du lanceur de l'application, mais lorsque l'icône apparaît sur le bord gauche de la barre des tâches, les lettres sont coupées et le résultat n'est pas esthétique.
Je souhaite fournir à la barre d’action une version distincte de l’icône, avec uniquement la partie "logo" et non les lettres en dessous, mais elle est restée vide jusqu'à présent. Honnêtement, je ne trouve aucune réponse à cette question et je ne trouve même pas la question elle-même.
La barre d'action utilisera l'attribut Android: logo de votre manifeste, s'il en existe un. Cela vous permet d'utiliser des ressources déductibles distinctes pour l'icône (Launcher) et le logo (ActionBar, entre autres).
Dans AndroidManifest.xml:
<application
Android:icon="@drawable/launcher"
Android:label="@string/app_name"
Android:name="com..."
Android:theme="@style/Theme">...</Application>
Dans styles.xml: (voir Android:icon
)
<style name="Theme" parent="@Android:style/Theme.Holo.Light">
<item name="Android:actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="@Android:style/Widget.Holo.Light.ActionBar">
<item name="Android:icon">@drawable/icon</item>
</style>
S'il vous plaît essayer cette ligne
getSupportActionBar().setHomeAsUpIndicator(R.drawable.back_arrow);
Si vous utilisez AppCompat, le seul moyen de définir l'icône ActionBar sur les périphériques exécutant Gingerbread (API 10) ou une version antérieure consiste à définir l'attribut Android: icon dans chaque activité de votre manifeste ou de définir le programme à dessiner.
<manifest>
<application>
...
<activity Android:name="com.your.ActivityName"
...
Android:icon="@drawable/ab_logo"/>
...
</application>
</manifest>
Mise à jour: soyez averti cependant que l'icône de l'application sera remplacée si vous définissez l'attribut Android: icon sur l'activité de lancement. Le seul travail que je connaisse consiste à avoir une activité splash ou factice qui lance ensuite votre activité principale.
Inspiré par TheIT, cela vient de fonctionner en manipulant le fichier manifeste mais d'une manière légèrement différente. Définissez l'icône dans les paramètres de l'application de manière à ce que la majorité des activités obtiennent l'icône. Dans l'activité pour laquelle vous souhaitez afficher le logo, ajoutez l'attribut Android: logo à la déclaration d'activité. Dans l'exemple suivant, seul LogoActivity devrait avoir le logo, tandis que les autres utiliseront par défaut l'icône.
<application
Android:name="com.your.app"
Android:icon="@drawable/your_icon"
Android:label="@string/app_name">
<activity
Android:name="com.your.app.LogoActivity"
Android:logo="@drawable/your_logo"
Android:label="Logo Activity" >
<activity
Android:name="com.your.app.IconActivity1"
Android:label="Icon Activity 1" >
<activity
Android:name="com.your.app.IconActivity2"
Android:label="Icon Activity 2" >
</application>
J'espère que cela aide quelqu'un d'autre à sortir!
créer un logo
dans les dossiers "drawable-...
", créez dans chacun d'eux logo.png
. L'emplacement des dossiers: [YOUR APP]\app\src\main\res
Dans AndroidManifest.xml, ajoutez la ligne suivante: Android:logo="@drawable/logo"
<application
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:logo="@drawable/logo"
...
c'est ça.
S'il vous plaît essayez, si utilisation "étend AppCompatActivity" et présente actionbar.
ActionBar eksinbar=getSupportActionBar();
if (eksinbar != null) {
eksinbar.setDisplayHomeAsUpEnabled(true);
eksinbar.setHomeAsUpIndicator(R.mipmap.imagexxx);
}
Peut-être voulez-vous vérifier cela, vous avez tout ce dont vous avez besoin pour vos icônes d'applications
http://developer.Android.com/guide/practices/ui_guidelines/icon_design.html
mettre à jour
Je pense que par défaut, il utilise votre icône de lanceur ... Votre meilleur pari est de créer une image distincte ... Conçu pour la barre d'action et l'utiliser. Pour cette vérification: http://developer.Android.com/guide/topics/ui/actionbar.html#ActionItems