如何在ActionBar中的标题旁边设置图标/徽标?

时间:2017-08-03 19:59:00

标签: android android-actionbar android-manifest android-icons

我试过了:

在onCreate()中:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_settings);
getSupportActionBar().setLogo(R.drawable.ic_settings);

在清单中:

android:logo="@drawable/ic_settings"
android:icon="@drawable/ic_settings"

没有任何工作。除了图标之外没有错误或任何其他内容。

1 个答案:

答案 0 :(得分:0)

您可以尝试

getSupportActionBar().setDisplayUseLogoEnabled(true);

更新其他方式:

<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</item>
    </style>

在你的主要风格中:

<item name="actionBarStyle">@style/MyActionBarLogo</item>

UPDATE 2 第三种方法可以在活动xml文件中创建一个工具栏,如下所示:

<android.support.v7.widget.Toolbar  
    android:id="@+id/my_awesome_toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary" />

使用方法setLogo()设置徽标,并将工具栏设置为支持actionBar,如下所示:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);