【问题标题】:v7-21 ActionBarActivity not showing the app main icon on the leftv7-21 ActionBarActivity 左侧不显示应用主图标
【发布时间】:2014-12-23 00:18:13
【问题描述】:

我实现了一个基本活动

public class MainActivity extends Activity

当我使用如下菜单添加操作栏时,AndroidManifest.xml 中定义的应用图标会很好地显示

<application
android:allowBackup="true"
android:icon="@drawable/logo_green"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >

当我尝试更改为 android.support.v7.app.ActionBarActivity(并切换到兼容的 AppCompat 主题,如 @style/Theme.AppCompat.Light.DarkActionBar)时,操作栏中的主应用程序菜单奇怪地消失了

我尝试在 Oncreate() 方法中将其恢复到应有的位置,但它不起作用

actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setIcon(R.drawable.green_drawable);

动作栏xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <!-- Search / will display always -->


    <item android:id="@+id/notification"
        android:icon="@drawable/notification_active"
        android:title="Setup"
        app:showAsAction="never"/>

    <item android:id="@+id/action_search"
        android:icon="@drawable/add_friends"
        android:title="Add Friends"
        app:showAsAction="never"/>


    <item android:id="@+id/action_setup"
        android:icon="@drawable/trackingicon"
        android:title="Setup"
        app:showAsAction="never"/>

    <item android:id="@+id/action_settings"
        android:title="@string/action_settings"
        app:showAsAction="never" />

    <item android:id="@+id/action_help"
        android:icon="@drawable/helpicon"
        android:title="Contact Support"
        app:showAsAction="ifRoom"/>


</menu>

【问题讨论】:

    标签: android-activity android-actionbar android-actionbar-compat android-actionbaractivity


    【解决方案1】:

    setIcon/setLogo 方法只有在您设置了 DisplayOptions 时才有效,试试这个 -

    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE);
    actionBar.setIcon(R.drawable.ic_launcher);
    

    您还可以设置显示LOGO的选项(只需添加常量ActionBar.DISPLAY_USE_LOGO)。更多信息-displayOptions

    【讨论】:

    • 我一直在寻找这个答案!谢谢。
    • @Vintesh 但它会在图标左侧留下空白。如何删除这个空间?谢谢!
    • 如果我理解正确,你应该尝试12 或者创建自定义工具栏肯定会起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 2015-03-05
    • 1970-01-01
    相关资源
    最近更新 更多