带有主页和后退按钮的Android工具栏

Sat*_*ada 9 navigation android toolbar back-button android-homebutton

是否可以在工具栏中同时显示主页图标和后退图标?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);
Run Code Online (Sandbox Code Playgroud)

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

我试过了

toolbar.setNavigationOnClickListener() 
Run Code Online (Sandbox Code Playgroud)

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

处理android.R.id.home时处理中有效

onOptionsItemSelected()
Run Code Online (Sandbox Code Playgroud)

Vin*_*nay 6

用于导航.这对我有用.

@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));
    } 
Run Code Online (Sandbox Code Playgroud)


小智 0

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