操作栏:关于向上可用性图标

6

操作栏中,有一个图标称为“向上承担”,如下所示(最左边的一个):

enter image description here

在我的ActivityonCreate()方法中,我设置了以下内容:

actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);

我的问题是:

  1. 如何在此“向上箭头”图标上实现一个onClickListener,以便当用户点击它时,应用程序将导航到上一级层次结构

  2. 如何仅显示左箭头而无需在操作栏上显示Android默认的“向上箭头”图标部分?

1个回答

4

要实现一个 onClickListener,可以在 onOptionsItemSelected 中捕获它:

public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
        case android.R.id.home:
            // Do what you want here
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

针对问题二,这个页面说明如下:

使用标志而不是图标

默认情况下,系统在操作栏中使用应用程序图标,由 android:icon 属性在 <application> 或 <activity> 元素中指定。但是,如果同时指定 android:logo 属性,则操作栏将使用标志图片而不是图标。


谢谢,我的第二个问题怎么样了? - Mellon
修改后的答案,不确定是否可能。 - Joakim Berglund
由于在操作栏中显示的图标是您的启动器图标,因此您必须将应用程序图标设置为透明图标 - 这绝对不是推荐的做法。 - Joakim Berglund
3
使用ICS(以及通过扩展,ABS版本4),您可以调用setDisplayShowHomeEnabled(false),并且返回箭头仍将出现在标题文本旁边。 - Jake Wharton
setDisplayShowHomeEnabled() 不显示箭头。要显示箭头,请使用:getSupportActionBar().setDisplayHomeAsUpEnabled(true); - Xavier Egea
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接