【问题标题】:Android Toolbar with both home and back button带有主页和后退按钮的 Android 工具栏
【发布时间】:2015-08-05 20:31:44
【问题描述】:

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

2) 第二个要求是在单击主页图标时清除活动堆栈,并在返回按钮的情况下返回上一屏幕。

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

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);

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

我试过了

toolbar.setNavigationOnClickListener() 

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

中处理 android.R.id.home 时有效
onOptionsItemSelected()

【问题讨论】:

  • 类似于这个stackoverflow.com/questions/26525229/….??。工具栏是一个视图组。您可以拥有自定义视图并将它们放置在您想要的任何位置。
  • @Raghunandan,这不是一个重复的问题,我将尝试使用自定义布局并将其设置为工具栏。这可能行得通。
  • 我从来没有说过它是重复的。我只是想知道你的工具栏应该是什么样子。您可以拥有自定义视图并相应地放置它们。

标签: android navigation toolbar back-button android-homebutton


【解决方案1】:

用于返回。这对我有用。

@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));
    } 

【讨论】:

    【解决方案2】:

    试试这个

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

    【讨论】:

      【解决方案3】:
      1. 将我们的自定义布局设计为单独的“toolbar_content.xml”,并将此布局包含在“main_layout.xml”的工具栏标签内。
      2. 在您的基本活动的“toolbar_content.xml”中为您的项目编写点击侦听器,以便可以通过应用程序使用侦听器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-08
        • 2020-01-17
        • 2018-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多