@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。