【问题标题】:Android AppCompat ActionBar - Left Align LogoAndroid AppCompat ActionBar - 左对齐徽标
【发布时间】:2020-06-23 16:42:33
【问题描述】:

在 ActionBar 中,我尝试左对齐徽标并显示 Activity 标题。我发现很难将徽标左对齐....并将徽标和标题一起显示。

我的 Activity 正在扩展 AppCompatActivity。我正在使用 styles.xml 为应用程序提供主题。在styles.xml 主题中,我有以下内容:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
   <item name="actionBarStyle">@style/ActionBarLogoTheme</item>
</style>

调用如下:

<style name="ActionBarLogoTheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
   <item name="logo">@drawable/logo</item>
   <item name="displayOptions">useLogo|showHome|showTitle</item>>

   <item name="android:layout_gravity">left</item>
   <item name="android:gravity">left</item>
</style>

在上面,'gravity' 和 'layout_gravity' 似乎没有生效,而且 'showTitle' 显示选项似乎也没有生效。任何人都可以提供帮助。下面说明了它目前的样子,以及我希望它的样子。

谢谢大家。

【问题讨论】:

    标签: java android android-actionbar styles android-toolbar


    【解决方案1】:

    如果您想使用 ActionBar,您可以使用:

    <style name="ActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
        <item name="displayOptions">showHome|useLogo|showTitle</item>
        <item name="logo">@drawable/....</item>
    </style>
    

    您也可以通过编程方式:

        getSupportActionBar().setDisplayShowHomeEnabled(true);
        getSupportActionBar().setDisplayUseLogoEnabled(true);
        getSupportActionBar().setLogo(R.drawable....);
        getSupportActionBar().setTitle("Title");
    

    但您也可以使用 Toolbar

        Toolbar toolbar = findViewById(R.id.toolbar);
        toolbar.setNavigationIcon(R.drawable.ic_menu_camera);
        setSupportActionBar(toolbar);
    

    【讨论】:

    • 您好,Gabriele,非常感谢您提供上述信息。不幸的是,在上述所有选项中,我最终得出了相同的结论。对于它们中的每一个,我的徽标仍然位于 ActionBar 的中心,并且由于某种原因我无法同时显示图像和文本。如果我不扩展 AppCompatActivity 而只是扩展 Activity,然后使用简单的 AppTheme,例如 'android:Theme.Holo.Light' 而没有额外的配置......它工作得很好。只是当我使用AppCompatActivity,然后尝试将一个Theme.AppCompat 应用到样式,它不起作用。
    • @GrahamBaitson 我用AppCompatActivityAppCompatMaterialComponents 主题尝试了我的代码。我不明白为什么你的标志在中心。发布您的布局或一些相关代码(您是否使用ToolbarsetSupportActionBar()
    • 非常感谢。因此,当我尝试工具栏时,它可以完美运行......我只是希望避免添加额外的代码,但我可以将它放入它自己的布局中并包含在我所有的活动布局中。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2015-09-16
    • 2013-02-06
    • 2016-06-05
    • 2015-12-03
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多