Das Anwendungssymbol wird nicht in der Aktionsleiste angezeigt

Ich folgte den Anweisungen des Aufbaus eines neuen Android-Projekts, und ich bekam ein runnable ein außer ein Problem mit Action-Bar. Das Problem ist, dass das Anwendungssymbol nicht neben dem Anwendungstitel in der Aktionsleiste angezeigt wird. Ich habe das Projekt mit der folgenden Konfiguration erstellt:

Weil mein minimales sdk api 8 ist, das keine Aktionsleiste unterstützt, enthält das Projekt eine appcompat_v7 library , um die appcompat_v7 library zu ermöglichen. Wenn ich das Minimum sdk auf api 14 (Android 4.0) oder höher appcompat_v7 library , dann enthält das Projekt keine appcompat_v7 library und Anwendungssymbol wird auch erfolgreich gezeigt. Aber ich brauche meine App, um ältere Android os so niedrig wie api 8. So was soll ich tun, um dieses Problem zu beheben? Wirklich schätzen Sie Jungs Aufmerksamkeit.

PS: Ich ging durch die Aufgabe oben auf Windows, Mac, Eclipse, Android Studio und bekam das gleiche Ergebnis.

  • Wie kann ich den Button von ExpandableListView entfernen?
  • Wie bekomme ich die Signatur von APK?
  • Wie kann ich eine Datenbank aktualisieren, ohne die Daten zu entfernen, die der Benutzer in der vorherigen Datenbank eingegeben hat?
  • Android In App Billing DEVELOPER_PAYLOAD nicht durchkommen
  • Android ViewGroup.setScaleX () bewirkt, dass die Ansicht abgeschnitten wird
  • Aktivieren / Deaktivieren von NFC mit ADB-Befehl
  • 6 Solutions collect form web for “Das Anwendungssymbol wird nicht in der Aktionsleiste angezeigt”

    Sie verwenden die AppCompat Version 21+ und es ist normal.

    Die Aktionsleiste folgt den Materialentwurfsrichtlinien und verwendet eine Symbolleiste . Wie du hier lesen kannst:

    Die Verwendung von Anwendungs-Symbol plus Titel als Standard-Layout ist auf API 21 Geräte und neuere entmutigt.

    Wenn du ein Anwendungssymbol hättest (aber ich entmutige es), kannst du die Methode setLogo() .

    Etwas wie das:

     ActionBar actionBar = getSupportActionBar(); actionBar.setLogo(R.drawable.my_logo); actionBar.setDisplayUseLogoEnabled(true); actionBar.setDisplayShowHomeEnabled(true); 

    Dieses Problem kommt, wenn Sie Support-Bibliothek überarbeitet 21 verwenden.

    Benutzen:

     ActionBar actionBar = getSupportActionBar(); actionBar.setLogo(R.drawable.ic_launcher); actionBar.setDisplayUseLogoEnabled(true); actionBar.setDisplayShowHomeEnabled(true); 

    Es hat für mich gearbeitet oder du kannst die Symbolleiste benutzen. Eine Symbolleiste ist eine Verallgemeinerung von Aktionsleisten für den Einsatz in Anwendungslayouts.

    In modernen Android-UIs Entwickler sollten sich mehr auf eine visuell unterschiedliche Farbschema für Symbolleisten als auf ihre Anwendung Symbol. Die Verwendung von Anwendungs-Symbol plus Titel als Standard-Layout ist auf API 21 Geräte und neuere entmutigt.

    Referenz: https://developer.android.com/reference/android/support/v7/widget/Toolbar.html

    Vergewissern Sie sich, dass das Icon in der Datei manifest.xml eingestellt ist, im Anwendungs-Tag als:

      android:icon="@drawable/launcher_icon" 

    Dann fügen Sie in der onCreate-Methode die folgenden Zeilen ein:

      ActionBar ab =getSupportActionBar(); ab.setDisplayShowHomeEnabled(true); ab.setIcon(R.drawable.launcher_icon); 

    Dies ist ein gemeinsames "Problem". Vor dir zieh deine Haare heraus, vergewissere dich, dass du benutzt hast:

     import android.support.v7.app.ActionBar; //or the v4, haven't tried with that though 

    und nicht:

     import android.app.ActionBar; 

    und dann:

     ActionBar actionBar; actionBar = getSupportActionBar(); 

    Anstatt von:

    actionBar = getActionBar();

    Und schlussendlich:

     if (actionBar != null) { // enabling action bar app icon and behaving it as toggle button actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setIcon(R.drawable.your_icon); actionBar.setHomeButtonEnabled(true); actionBar.setDisplayShowHomeEnabled(true); } 

    Attribut-Logo wird nur in API Level 11 und höher verwendet (aktuelle min ist 8), ich war auch über diese Frage verwirrt, vielleicht google einfach nicht wollen, dass das Icon auf Material-Design zu zeigen, wenn die minimale sdk auf 14 oder gesetzt ist Höher und unter 21, es verwendet Holo Thema, es hat eine Ikone, aber appcompat Stil ist eher wie Material Design Ich denke, vielleicht google nur vergessen, das Holo Thema ändern

    IN Style.xml

      <style name="MyTheme_ActionBar" parent="@style/Theme.AppCompat.Light"> <item name="icon">@drawable/actionbar_logo</item> </style> 

    In der Aktivität füge dies hinzu und versuche es

     ActionBar mActionBar = getSupportActionBar(); mActionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.