Тема навигационного ящика сбрасывается по щелчку

#android #xml #kotlin #material-design

#Android #xml #kotlin #материал-дизайн

Вопрос:

Как и в названии — это выглядит правильно, пока я не нажму кнопку. Это происходит, только если я реализую прослушиватель. Вот код:

Kotlin

 navigationView.setNavigationItemSelectedListener{item ->
        when (item.itemId) {
            R.id.list_BT -> {
                supportFragmentManager.beginTransaction().apply {
                    replace(R.id.fragmentContainer1, MenuFragment())
                    commit()
                }
                item.isChecked = true
            }
            R.id.info_BT -> {
                supportFragmentManager.beginTransaction().apply {
                    replace(R.id.fragmentContainer1, AboutFragment())
                    commit()
                }
                item.isChecked = true
            }
            R.id.preferences_BT -> {
                val intent = Intent(applicationContext, OptionsActivity::class.java)
                startActivity(intent)
            }
        }

        true
    }
  

XML — активность

 <com.google.android.material.navigation.NavigationView
    android:id="@ id/navigation"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:menu="@menu/drawer_menu"
    app:headerLayout="@layout/drawer_header"
    android:clipChildren="false"
    android:theme="@style/Theme.JaBotMobile.Drawer"/>
  

XML-тема (теперь вроде просто 4)

 <style name="Theme.Base.JaBotMobile.Drawer">
    <item name="fontFamily">@font/open_sans_regular</item>
</style>
<style name="Theme.JaBotMobile.Drawer" parent="Theme.Base.JaBotMobile.Drawer" />
  

Комментарии:

1. Я столкнулся с аналогичной проблемой, когда пользовательский шрифт показывает странное поведение при взаимодействии с компонентами материала. Я не уверен, что все это связано, но описывает ли эта проблема GH вашу проблему? github.com/material-components/material-components-android /…

2. @ashu Да! Это происходит только со шрифтом. Вы не нашли решение, не так ли?

Ответ №1:

Хорошо, я нашел решение благодаря @johnnyzen на GitHub. Спасибо @ashu за то, что указал мне на источник проблемы.

Убедитесь, что NavigationView НЕ использует: android:theme=»@style/MyCustomNavStyle»

но используйте:

приложение: itemTextAppearance=»@style/MyCustomNavStyle»

@font /montserrat_regular