如何在ActionBar中居中徽标?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在ActionBar中居中徽标?相关的知识,希望对你有一定的参考价值。

我试图在MainActivity ActionBar中居中一个徽标,但是当我添加它时

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.drawable.thelogo);
getSupportActionBar().setDisplayUseLogoEnabled(true);

它看起来像这个enter image description here

有没有办法集中它而不必将RelativeLayout更改为LinearLayout?

答案

既然你无法访问视图,你就无法将它放在中心位置,除非有一个我认为不存在的函数,这就是为什么我总是让我自己的工具栏使用它:

<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:src="@drawable/navigation_background"
        android:layout_gravity="center"/>
</androidx.appcompat.widget.Toolbar>

在您的代码中立即使用:

...
setSupportActionBar(toolbar);

确保通过将样式更改为以下内容来删除默认操作栏:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

以上是关于如何在ActionBar中居中徽标?的主要内容,如果未能解决你的问题,请参考以下文章

在 Bootstrap 导航栏中居中品牌徽标

在 Bootstraps 导航栏中居中图像/徽标?

如何在工具栏中居中ImageView?

在 XML 中为 ActionBar 定义自定义徽标(不同于徽标)?

在标题/导航栏中居中徽标[重复]

xml Android示例,说明如何向ActionBar添加自定义徽标并确保最佳匹配启动Window。