v7-21 ActionBarActivity未在左侧显示应用程序主图标

时间:2014-12-23 00:18:13

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

我实施了一项基本活动

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>

1 个答案:

答案 0 :(得分:24)

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