Android: Comment changer le ActionBar « Home » Icône d'être autre chose que l'icône de l'application?

StackOverflow https://stackoverflow.com/questions/6351479

Question

icône principale de mon application se compose de deux parties dans une image: un logo et quelques lettres en dessous. Cela fonctionne bien pour l'icône de lancement pour l'application, mais quand l'icône apparaît sur le bord gauche de la ActionBar, les lettres se couper et il ne semble pas bon.

Je voudrais fournir ActionBar avec une version distincte de l'icône, avec seulement la partie « logo » et non les lettres au-dessous, mais jusqu'à présent, ont été à venir vide. Honnêtement, je ne peux trouver aucune réponse à cette question, et je ne trouve même pas la question elle-même partout.

Autres conseils

En AndroidManifest.xml:

<application
    android:icon="@drawable/launcher"
    android:label="@string/app_name"
    android:name="com..."
    android:theme="@style/Theme">...</Application>

En 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, la seule façon de définir l'icône ActionBar sur les appareils fonctionnant sous Gingerbread (API 10) ou au-dessous est en définissant l'androïde. Attribut icône dans toutes les activités dans votre manifeste ou le réglage de la drawable programatically

<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 surchargée si vous définissez l'attribut android: icône sur l'activité de lancement. Le seul travail autour que je connaisse est d'avoir une activité ou splash factice qui lance alors votre activité principale.

Inspiré par Theit, je viens de recevoir ce au travail en manipulant le fichier manifeste, mais d'une façon légèrement différente. Définir l'icône dans l'application mise en sorte que la majorité des activités se l'icône. Sur l'activité où 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 par défaut sur 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>

Espérons que cela aide quelqu'un d'autre!

création de logo

dans les dossiers « drawable-... » créer dans tous les logo.png. L'emplacement des dossiers: [YOUR APP]\app\src\main\res

Dans AndroidManifest.xml add ligne: android:logo="@drawable/logo"

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:logo="@drawable/logo"
    ...

c'est tout.

S'il vous plaît Essayez, si l'utilisation "étend AppCompatActivity" et actionbar présente.

 ActionBar eksinbar=getSupportActionBar();
if (eksinbar != null) {
    eksinbar.setDisplayHomeAsUpEnabled(true);
    eksinbar.setHomeAsUpIndicator(R.mipmap.imagexxx);
}

voudrez peut-être vérifier, tout ce qu'il vous faut pour vos icônes d'applications

http://developer.android.com/guide/practices/ui_guidelines/ icon_design.html

mise à jour

Je pense que par défaut, il utilise l'icône de lancement ... Votre meilleur pari est de créer une image distincte ... Conçu pour la barre d'action et d'utiliser cela. Pour cette vérification: http://developer.android.com/guide/topics /ui/actionbar.html#ActionItems

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top