Подтвердить что ты не робот

Кнопка "закрыть" в панели инструментов вместо "Назад"

Я видел в приложении Google Inbox App, составляя новое письмо, на панели инструментов вместо кнопки "Назад" (стрелка) имеет кнопку "закрыть" (см. рисунок).

Как я могу это достичь?

inbox compose close button

4b9b3361

Ответ 1

Используйте

this.getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_close);

чтобы достичь этого.

Вы можете создать свой собственный значок закрытия или получить из набор значков дизайна материалов на github. Также добавьте это, чтобы закрыть функцию в виде стрелки назад.

this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Ответ 2

Вам нужно определить родителя в манифесте, а затем переопределить 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;
}

введите описание изображения здесь

Ответ 3

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Search");
toolbar.setNavigationIcon(R.drawable.abc_ic_clear_mtrl_alpha);
setSupportActionBar(toolbar);

Ответ 4

Альтернативой определению родительской активности в манифесте является обработка того, какое действие следует предпринять в методе 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);
}

Ответ 5

Вы можете определить стиль:

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