在ActionBar上实现返回键和Toolbar共存

来源:互联网 发布:网络配线架打法图片 编辑:程序博客网 时间:2024/05/19 00:49
@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);    setSupportActionBar(toolbar);    setupActionBar();……}

首先,直接上代码。
在Activity的onCreate里加上两句设置Bar的方法,第一个方法一般是继承AppCompatActivity都会自带的方法,看参数便知道是设置Toolbar用的。
第二个就是关键了,它能为Activity设置左上角的默认返回键,系统内部id为R.id.home。
详细代码如下:

private void setupActionBar() {        ActionBar actionBar = getSupportActionBar();        if (actionBar != null) {            // Show the Up button in the action bar.            actionBar.setDisplayHomeAsUpEnabled(true);        }}

除此之外,为了让左上角的返回键能有finish当前Activity的功能,需要如下操作:

@Overridepublic boolean onOptionsItemSelected(MenuItem item) {    int id = item.getItemId();    if (id == android.R.id.home) {        finish();        return true;    }    return super.onOptionsItemSelected(item);}

当然不要忘了创建menu的代码:

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

menu的布局文件自己写咯!

如此一来,Activity就具有了左上角的返回按钮以及保留了Toolbar本身的MenuItems。

1 0