wake-up-neo.com

Android: Wie ändere ich das ActionBar "Home" -Symbol so, dass es nicht mehr das App-Symbol ist?

Das Hauptsymbol meiner Anwendung besteht aus zwei Teilen in einem Bild: einem Logo und einigen Buchstaben darunter. Dies funktioniert gut für das Launcher-Symbol für die App, aber wenn das Symbol am linken Rand der ActionBar angezeigt wird, werden die Buchstaben abgeschnitten und es sieht nicht gut aus.

Ich möchte die ActionBar mit einer separaten Version des Symbols versehen, die nur den "Logo" -Teil und nicht die Buchstaben darunter enthält, die aber bisher leer waren. Ich kann ehrlich gesagt keine Antwort darauf finden, und ich kann die Frage selbst nirgendwo finden.

111
Phil Ringsmuth

Die Aktionsleiste verwendet das Attribut Android: logo Ihres Manifests, sofern eines angegeben ist. Auf diese Weise können Sie separate Zeichenressourcen für das Symbol (Startprogramm) und das Logo (unter anderem ActionBar) verwenden.

218
Joe

In AndroidManifest.xml:

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

In styles.xml: (Siehe 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>
48

Bitte versuchen Sie diese Zeile

getSupportActionBar().setHomeAsUpIndicator(R.drawable.back_arrow);
14
TheLastSummer

Wenn Sie AppCompat verwenden, können Sie das ActionBar-Symbol auf Geräten, auf denen Gingerbread (API 10) oder niedriger ausgeführt wird, nur festlegen, indem Sie das Android: icon-Attribut in jeder Aktivität in Ihrem Manifest festlegen oder das Drawable programmgesteuert festlegen.

<manifest>
    <application>
        ...
        <activity Android:name="com.your.ActivityName"
            ...
            Android:icon="@drawable/ab_logo"/>
        ...
   </application>
</manifest>

Update: Seien Sie jedoch gewarnt, dass das Anwendungssymbol überschrieben wird, wenn Sie das Android: icon-Attribut bei der Startaktivität festlegen. Die einzige mir bekannte Abhilfe besteht darin, eine Splash- oder Dummy-Aktivität durchzuführen, die dann Ihre Hauptaktivität startet.

8
TheIT

Inspiriert von TheIT, habe ich dies durch Manipulieren der Manifest-Datei auf eine etwas andere Art und Weise zum Laufen gebracht. Stellen Sie das Symbol in der Anwendungseinstellung so ein, dass die meisten Aktivitäten das Symbol erhalten. Fügen Sie in der Aktivität, in der Sie das Logo anzeigen möchten, das Attribut Android: logo zur Aktivitätsdeklaration hinzu. Im folgenden Beispiel sollte nur LogoActivity das Logo haben, während die anderen standardmäßig das Symbol haben.

<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>

Hoffe das hilft jemand anderem raus!

7
proudgeekdad

logo erstellen

in Ordnern "drawable-... "Erschaffe in allen von ihnen logo.png. Der Speicherort der Ordner: [YOUR APP]\app\src\main\res

In AndroidManifest.xml Zeile hinzufügen: Android:logo="@drawable/logo"

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

das ist es.

3
awariat

Bitte versuchen Sie, wenn Sie "AppCompatActivity erweitern" und die Aktionsleiste anzeigen.

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

Vielleicht möchten Sie dies überprüfen und haben alles, was Sie für Ihre App-Symbole benötigen

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

update

Ich denke, standardmäßig wird Ihr Startsymbol verwendet. Am besten erstellen Sie ein separates Bild. Entwickelt für die Aktionsleiste und verwendet dieses. Für diesen Check: http://developer.Android.com/guide/topics/ui/actionbar.html#ActionItems

0
Stevanicus