您的位置:首页 > 其它

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

2016-07-09 01:37 309 查看
@Override
protected 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的功能,需要如下操作:

@Override
public 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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Toolbar ActionBar