Показать кнопку «Назад» на панели инструментов с помощью стилей

Я хотел бы передать тему панели инструментов в класс моей другой библиотеки в AndroidManifest. Я объявил тему в styles.xml следующим образом:

    <style name = "MyTheme" parent = "AppTheme">
        <item name = "homeAsUpIndicator">@drawable/back</item>
        <item name = "title">@string/app_name</item>
        <item name = "subtitle">@string/app_version</item>
    </style>

Принимая во внимание, что кнопка «Назад» не видна при отображении класса этой библиотеки. Так есть ли способ setDisplayHomeAsUpEnabled стать истинным в самом styles.xml??

0
0
36
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

 <androidx.appcompat.widget.Toolbar
    android:layout_width = "match_parent"
    android:layout_height = "wrap_content"
    android:background = "@color/orange"
    app:navigationIcon = "@drawable/backbutton"//imp code
    app:title = "Check Out"
    android:id = "@+id/toolbar_checkout_main">
</androidx.appcompat.widget.Toolbar>

в xml объявить app:navigationicon и использовать в java-файле

 toolbar.setNavigationOnClickListener(v -> {
        //on backbutton pressed code//
    });

Привет @raj, я должен сделать это в styles.xml, так как мне нужно установить тему в класс библиотеки в манифесте, который не имеет экземпляра панели инструментов для настройки.

Yamini Balakrishnan 02.05.2019 12:39
Ответ принят как подходящий

Мы можем использовать опцию navigationIcon, чтобы показать значок с помощью styles.xml.

Если вы ориентируетесь на API 21+,

<item name = "android:navigationIcon">@drawable/back</item>

Иначе,

<item name = "navigationIcon">@drawable/back</item>

Итак, моя тема должна быть,

<style name = "MyTheme" parent = "AppTheme">
        <item name = "colorPrimary">@color/colorAccent</item>
        <item name = "title">@string/app_name</item>
        <item name = "subtitle">@string/app_version</item>
        <item name = "navigationIcon">@drawable/back</item>
</style>

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