当前位置: 首页 > 知识库问答 >
问题:

带有home和back按钮的Android工具栏

叶建柏
2023-03-14

是否可以在工具栏中同时显示主页图标和后退图标?1) 是否可以更改后退按钮图标和主页图标的显示顺序。目前,它首先显示箭头按钮,然后显示徽标(主页按钮)

2) 第二个要求是在单击home图标并返回上一个屏幕(如果是back按钮)时清除活动堆栈。

我有以下代码,将显示一个箭头键和主页图标,这是设置为标志。是否可以处理这两个图标上的点击事件:

Toolbar toolbar = (Toolbar)findByViewID(R.id.toolbar);
toolbar.setNavigationIcon(R.drwable.btn_back);
setSuppportActionBar(toolbar);
getSupportActionBar().setLogo(R.drawable.home_icon);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

我可以通过onOptionsITemSelec方法处理点击箭头图标。有没有办法处理点击徽标图标?我的想法是使用主页按钮点击清除活动堆栈,并使用后退按钮导航回上一个屏幕。

我试过了

toolbar.setNavigationOnClickListener() 

但它对后退按钮点击没有影响。

处理android。R、 id

onOptionsItemSelected()

共有3个答案

乐正意智
2023-03-14
  1. 将我们的自定义布局设计为单独的toolbar_content.xml,并将此布局包含在工具栏标记中的main_layout.xml中。
  2. 在基本活动的toolbar_content.xml中为您的项目编写单击侦听器,以便侦听器可以通过应用程序使用。
沈茂
2023-03-14

试试这个

toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            if (item.getItemId() == android.R.id.home) {
                getActivity().finish();
            }
            return true;
        }
    });
黄飞翮
2023-03-14

导航回来。这对我有用。

@Override 
    public boolean onOptionsItemSelected(MenuItem menuItem) {
        switch (menuItem.getItemId()) {
            case android.R.id.home:
                Intent homeIntent = new Intent(this, HomeActivity.class);
                homeIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(homeIntent);
        } 
        return (super.onOptionsItemSelected(menuItem));
    } 
 类似资料:
  • 我有两项活动。其中一个有碎片<从这个片段中,我可以转到另一个活动,但单击“主页”按钮,它会转到上一个活动,而不是转到上一个活动的片段。 图像

  • 我有一个奇怪的问题,关于android up按钮的新闻区域,我正在设置家庭像这样up 我在其中一个设备上有两个三星Galaxy Nexus,home按钮可点击区域包括图标和文本。而在另一个设备上,只有图标包含在可点击区域中?这是为什么?如何使文本和图标始终包含在可点击区域中?

  • 在很多应用(日历、驱动器、播放商店)中,当你点击一个按钮并进入一个新活动时,标题栏中的图标会变成一个后退按钮,但对于我正在制作的应用来说,它并没有做到这一点。我如何使图标带您回到上一个屏幕?

  • 问题内容: 好吧,这种特定的布局让我很烦。而且似乎找不到找到listView的方法,在底部有一行按钮,这样listview不会延伸到按钮的上方,因此这些按钮始终固定在屏幕的底部。这就是我想要的: 删除了死的ImageShack链接 似乎应该这么简单,但是我尝试过的所有方法都失败了。有什么帮助吗? 这是我当前的代码: 问题答案: 我认为这就是您想要的。

  • 我的app里有一些这样的按钮: 我正在尝试创建一个带有文本和图标的按钮。Android:DrawableLeft对我不起作用(也许会,但我不知道如何设置图标的最大高度)。 所以我创建了一个包含ImageView和TextView的LinearLayout,并使其像一个按钮一样运行: 我的新按钮正是我想要的(字体大小,图标和文本放置)。但它看起来不像我的默认按钮: 所以我试着改变新按钮的背景和文本颜