Я видел в приложении Google Inbox App, составляя новое письмо, на панели инструментов вместо кнопки "Назад" (стрелка) имеет кнопку "закрыть" (см. рисунок).
Как я могу это достичь?
Я видел в приложении Google Inbox App, составляя новое письмо, на панели инструментов вместо кнопки "Назад" (стрелка) имеет кнопку "закрыть" (см. рисунок).
Как я могу это достичь?
Используйте
this.getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_close);
чтобы достичь этого.
Вы можете создать свой собственный значок закрытия или получить из набор значков дизайна материалов на github. Также добавьте это, чтобы закрыть функцию в виде стрелки назад.
this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Вам нужно определить родителя в манифесте, а затем переопределить onSupportNavigationUp(), если вы, конечно, используете панель поддержки. Кроме того, перейдите на этот удобный сайт для пакетов значков: https://www.google.com/design/icons/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yourAwesomeLayout);
setupToolBar();
}
private void setupToolBar() {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar == null) return;
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
}
@Override
public boolean onSupportNavigateUp() {
finish(); // close this activity as oppose to navigating up
return false;
}
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Search");
toolbar.setNavigationIcon(R.drawable.abc_ic_clear_mtrl_alpha);
setSupportActionBar(toolbar);
Альтернативой определению родительской активности в манифесте является обработка того, какое действие следует предпринять в методе onOptionsItemSelected, как в этом примере:
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()) {
// Respond to the action bar Up/Home/back button
case android.R.id.home:
finish();
break;
}
return super.onOptionsItemSelected(item);
}
Вы можете определить стиль:
<style name="Theme.Toolbar.Clear">
<item name="toolbarNavigationIcon">@drawable/abc_ic_clear_mtrl_alpha</item>
</style>
и используйте его в своей теме:
<style name="Theme.Clear">
<item name="toolbarTheme">@style/Theme.Toolbar.Clear</item>
</style>