ActionBarActivity 不显示我的 AppIcon

ActionBarActivity doesn´t shows my AppIcon

我想在我的 ActionBar 中添加我的应用程序图标,但我正在阅读 Google 开发人员,我可以获得解决方案。我在我的 ActivityMain 上这样做:

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

但它不起作用。

这是我使用 Android 的第一天,我只想制作一个带有左侧主图标和图标搜索的 ActionBar。

谢谢。

添加:

actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setLogo(R.drawable.ic_launcher)

您应该更改徽标,默认情况下它与启动器图标相同。

对于 API21,您应该使用新的工具栏 class。

Toolbar 放入您的布局中:

<android.support.v7.widget.Toolbar
    android:id=”@+id/my_awesome_toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="attr/actionBarSize"
    android:background="?attr/colorPrimary" />

然后在您的代码中(例如 Activity 中的 onCreate):

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

您可以在 official post 中找到更多信息。

您应该执行以下步骤来实施 ActionBar :

1 - 像这样扩展 ActionBarActivity

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

}

导入此内容的通知:

import android.support.v7.app.ActionBarActivity;  

2 - 将下面的行添加到 onCreate 中:

 getSupportActionBar().setDisplayShowHomeEnabled(true);
 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 getSupportActionBar().setIcon(R.drawable.ic_launcher);

3- 在 res/menu/your_menu.xml 下创建 xml 菜单 像这样的东西:

your_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

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

</menu>

4- 将菜单扩展到操作栏,并处理操作栏项目点击:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is   present.
        getMenuInflater().inflate(R.your_menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

希望对你有帮助!!!