Non so dove mi sia perso qualcosa, ma non riesco a impostare il mio logo nella barra delle azioni. mio AndroidManifest.xml:Il logo non viene visualizzato nella barra delle azioni, utilizzando AppCompat
<application
android:icon="@drawable/application_icon"
android:label="@string/icon_name"
android:logo="@drawable/actionbar_logo"
android:theme="@style/PolarTheme">
E inoltre ho impostato il mio logo nel mio tag attività nel manifesto:
<activity
android:name=".Main"
android:theme="@style/PolarThemeLogo"
android:logo="@drawable/actionbar_logo"
android:windowSoftInputMode="adjustPan">
</activity>
Questo è a mio themes.xml:
<style
name="PolarThemeLogo" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/mainColor500</item>
<item name="colorPrimaryDark">@color/mainColor700</item>
<item name="colorAccent">@color/accentColorA200</item>
<item name="actionBarStyle">@style/MyActionBarLogo</item>
<item name="android:windowContentOverlay">@null</item>
</style>
mio styles.xml:
<style name="MyActionBarLogo" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@color/mainColor500</item>
<item name="displayOptions">useLogo</item>
</style>
Nel mio Main.java:
public class Main extends ActionBarActivity {
@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle("");
actionBar.setDisplayUseLogoEnabled(true);
Qualche idea?
AGGIORNAMENTO - RISOLTO
ho rimosso tutte le android:logo
attributi dal mio AndroidManifest.xml e ho modificato il mio stile MyActionBarLogo in questo modo:
<style name="MyActionBarLogo" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="background">@color/mainColor500</item>
<item name="logo">@drawable/actionbar_logo</item>
<item name="displayOptions">useLogo|showHome</item>
</style>
Ora l'ActionBar è la visualizzazione il mio logo. :)
La documentazione di Google sul punto come sempre. –
Non credo che devi rimuovere Android: logo dal tuo manifest, gli stili dovrebbero essere sufficienti. –
Perché non usi l'ereditarietà dello stile? Quando usi "." come separatore lo stile eredita automaticamente dal suo genitore. F.e: PolarTheme.Logo erediterà da PolarTheme – Roel