我正在从我的应用程序迁移ActionBar到Toolbar。但我不知道如何在 Back Arrow on 上显示和设置点击事件,Toolbar就像我在 上所做的那样Actionbar。
ActionBar
Toolbar
Actionbar
有了ActionBar,我打电话mActionbar.setDisplayHomeAsUpEnabled(true)。但是没有类似的方法。
mActionbar.setDisplayHomeAsUpEnabled(true)
有没有人遇到过这种情况并以某种方式找到解决方法?
如果您使用的是 anActionBarActivity那么您可以告诉 AndroidToolbar像ActionBar这样使用:
ActionBarActivity
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); setSupportActionBar(toolbar);
然后调用
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true);
将工作。您也可以在附加的片段中ActionBarActivities使用它,可以像这样使用它:
ActionBarActivities
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayShowHomeEnabled(true);
如果您不使用ActionBarActivities或想要在Toolbar未设置为您的上获得后退箭头,SupportActionBar则可以使用以下内容:
SupportActionBar
mActionBar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_action_back)); mActionBar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //What to do on back clicked } });
如果您正在使用android.support.v7.widget.Toolbar,那么您应该将以下代码添加到您的AppCompatActivity:
android.support.v7.widget.Toolbar
AppCompatActivity
@Override public boolean onSupportNavigateUp() { onBackPressed(); return true; }