【问题标题】:Show both logo and app name in action bar android在操作栏中显示徽标和应用名称 android
【发布时间】:2017-12-30 23:29:10
【问题描述】:

我已将这两行代码设置为在操作栏中同时显示徽标和应用名称,但只显示应用名称,如屏幕截图所示:

actionBar.setDisplayUseLogoEnabled(true);
actionBar.setLogo(R.drawable.icon);

我需要其他代码来显示两者吗?我在清单中添加了这个,但结果相同:

<application
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:logo="@drawable/icon"

我正在处理带有操作栏的选项卡式活动。

你能帮帮我吗?谢谢

【问题讨论】:

    标签: android android-actionbar


    【解决方案1】:

    解决添加

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

    在 Android 5.0 Lollipop 中默认禁用在操作栏中使用徽标。

    【讨论】:

    • 如果有人只想要没有标题的徽标,您必须添加getSupportActionBar().setDisplayShowTitleEnabled(false)
    【解决方案2】:

    在 Activity 类的 onCreate(Bundle) 方法中添加这 3 行代码:

        getSupportActionBar().setDisplayShowHomeEnabled(true);
        getSupportActionBar().setLogo(R.mipmap.ic_launcher4);
        getSupportActionBar().setDisplayUseLogoEnabled(true);
    

    【讨论】:

      【解决方案3】:

      在你的 style.xml 中试试这个:

      <!-- ActionBar styles -->
      <style name="MyActionBar"
          parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
      
          <item name="android:icon">@drawable/logo</item>
          <item name="logo">@drawable/logo</item>
          <item name="displayOptions">useLogo|showHome|showTitle</item>
      </style>
      

      不知道这是否会导致高 API 级别出现问题,但在 API 10 上对我有用。

      【讨论】:

        【解决方案4】:

        您是在模拟器还是真实设备中运行您的应用程序?我认为在使用 API L 或 21 的布局时,片段中的设计页面上没有显示应用程序的图标。(如下所示)

        但是当您更改为 API 19 或将片段充气到水龙头时,它会显示。(如下所示)

        【讨论】:

        • 我正在使用 Android 5 Lollipop 的真正 Nexus 5 上对其进行测试。是这个问题吗?