Подтвердить что ты не робот

Логотип не отображается в панели действий, используя AppCompat

Я не знаю, где мне что-то не хватает, но я не могу установить свой логотип на своем рабочем столе. Мой AndroidManifest.xml:

<application 
    android:icon="@drawable/application_icon" 
    android:label="@string/icon_name"
    android:logo="@drawable/actionbar_logo"
    android:theme="@style/PolarTheme">

И также я установил свой логотип в свой тег активности в манифесте:

<activity 
    android:name=".Main"
    android:theme="@style/PolarThemeLogo"
    android:logo="@drawable/actionbar_logo"
    android:windowSoftInputMode="adjustPan">
    </activity>

Это в моих темах .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>

Мои 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>

В моем 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);

Любые идеи?

UPDATE - SOLVED

Я удалил все атрибуты android:logo из моего AndroidManifest.xml, и я изменил стиль MyActionBarLogo следующим образом:

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

Теперь панель действий отображает мой логотип.:)

4b9b3361

Ответ 1

Я удалил все атрибуты android: logo из моего AndroidManifest.xml, и я изменил свой стиль MyActionBarLogo следующим образом:

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

Теперь панель действий отображает мой логотип.:)

Ответ 2

Я использую следующий код, чтобы показать логотип, надеюсь, что это будет полезно.

getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.logo);

Ответ 3

просто добавьте 3 строки в файл Java и не добавляйте код в манифест XML и Android.

    getSupportActionBar().setDisplayUseLogoEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    getSupportActionBar().setIcon(R.mipmap.ic_launcher);