Кнопка расширения Android

Я хочу расширить кнопку вверх на панели действий, чтобы включить имя деятельности. Например, вместо того, чтобы нажимать только стрелку, чтобы вернуться назад, я также мог щелкнуть слова рядом с ней. Я знаю, что некоторые приложения позволяют это, но я не видел никаких инструкций о том, как это сделать.

Вот пример того, что он в настоящее время позволяет:

Вот пример того, что я хочу сделать:

1 ответ

Что вы можете сделать, это создать собственный макет на панели инструментов. Затем, когда пользователь нажимает на представление, содержащее текст заголовка и кнопку вверх, вы сами обрабатываете логику.

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/primary"
    app:contentInsetStart="72dp"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

<!--Contains your up button and title text-->    
<SomeCustomLayout
        android:id="@+id/customLayout"
        android:layout_width="match_parent"
        android:layout_width="wrap_content" />

</android.support.v7.widget.Toolbar>

Затем получите представление в вашем коде с

Toolbar toolbar = findViewById(R.id.toolbar);
SomeCustomLayout customLayout = toolbar.findViewById(R.id.customLayout);
customLayout.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        // You'll probably want to fire off 
        // an intent here to go back to the parent activity
    }

});

Другие вопросы по тегам