ActionBar 中的自定义图像而不是徽标

Custom image instead of logo in ActionBar

如何将ActionBar的logo图标设置为自定义图片?类似于它在 Whatsapp 上的工作方式?我试图实现,但它看起来像这样..

如何删除space?

我是这样用的

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setIcon(R.drawable.dummy_user_profile_pic);

并在清单中

<application
        android:logo="@drawable/dummy_user_profile_pic"

我做错了什么?请指导我。非常感谢

使用

setLogo(R.drawable.dummy_user_profile_pic);

在您的代码中而不是

setIcon(R.drawable.dummy_user_profile_pic);

它应该工作得很好。

我参考了这个 link 我可以实现它。但是主页和图像之间的 space 默认 space 来自 App-compat 支持库工具栏 其中 Whatsapp 没有 space。我认为他们没有使用 支持库工具栏 。当您将标题提供给操作栏时,您可以看到默认值 space。

   With toolbar you can easily customize actionbar as shown below 

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/black"
        app:popupTheme="@style/AppTheme.PopupOverlay">

        <ImageView
            android:layout_width="40dip"
            android:layout_height="40dip"
            android:layout_gravity="center_vertical"
            android:layout_marginRight="10dip"
            android:src="@drawable/logo" />

      <TextView android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="Sample"
            android:layout_weight="1"
            android:id="@+id/title_textview"
            android:textColor="@android:color/white"
            android:gravity="center"/>

    </android.support.v7.widget.Toolbar>

注意:使用此方法时不要使用 getSupportactionbar.setTitle() 方法 只需在工具栏中设置文本视图的文本