Ошибки в стиле/теме для компонентов Material3 в устаревшем приложенииAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Ошибки в стиле/теме для компонентов Material3 в устаревшем приложении

Сообщение Anonymous »

Я пытаюсь использовать SearchBar и SearchView из библиотеки компонентов материалов в своем приложении. Это новые компоненты для Материала 3.

Код: Выделить всё

    implementation 'com.google.android.material:material:1.12.0'
Это приложение разрабатывалось в течение длительного времени, поэтому в теме используется «мостовая» тема, чтобы AppCompat мог продолжать работать с Материалом 2: У меня есть фрагмент, который выглядит так: Раздувание этого фрагмента приводит к следующему сбою:

Код: Выделить всё

Caused by: android.view.InflateException: Binary XML file line #80 in com.myapp.android.debug:layout/mtrl_search_view: Failed to resolve attribute at index 1: TypedValue{t=0x2/d=0x7f040346 a=-1}, theme={InheritanceMap=[id=0x7f1603bccom.myapp.android.debug:style/ThemeOverlay.Material3.Search], Themes=[com.myapp.android.debug:style/ThemeOverlay.Material3.Search, forced, com.myapp.android.debug:style/Theme.MyApp.NoActionBar, forced, com.myapp.android.debug:style/Theme.AppCompat.Empty, forced, android:style/Theme.DeviceDefault.Light.DarkActionBar, forced]}
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 1: TypedValue{t=0x2/d=0x7f040346 a=-1}, theme={InheritanceMap=[id=0x7f1603bccom.myapp.android.debug:style/ThemeOverlay.Material3.Search], Themes=[com.myapp.android.debug:style/ThemeOverlay.Material3.Search, forced, com.myapp.android.debug:style/Theme.MyApp.NoActionBar, forced, com.myapp.android.debug:style/Theme.AppCompat.Empty, forced, android:style/Theme.DeviceDefault.Light.DarkActionBar, forced]}
Строка 80 находится внизу этого представления: Я предполагаю, что ссылка на атрибут захлебывается.
Поэтому я добавил этот блок в стиль:

Код: Выделить всё

        @style/Widget.Material3.SearchBar
@style/Widget.Material3.SearchView
@style/Widget.Material3.SearchView.Prefix
72dp
@style/Widget.Material3.SearchView.Toolbar
тогда я получаю следующее:

Код: Выделить всё

Caused by: android.view.InflateException: Binary XML file line #118 in com.myapp.android.debug:layout/mtrl_search_view: Binary XML file line #118 in com.myapp.android.debug:layout/mtrl_search_view: Error inflating class 
Caused by: android.view.InflateException: Binary XML file line #118 in com.myapp.android.debug:layout/mtrl_search_view: Error inflating class 
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 13:  TypedValue{t=0x2/d=0x7f040126 a=-1}, theme={InheritanceMap=[id=0x7f1603bccom.myapp.android.debug:style/ThemeOverlay.Material3.Search], Themes=[com.myapp.android.debug:style/ThemeOverlay.Material3.Search, forced, com.myapp.android.debug:style/Theme.MyApp.NoActionBar, forced, com.myapp.android.debug:style/Theme.AppCompat.Empty, forced, android:style/Theme.DeviceDefault.Light.DarkActionBar, forced]}
Нарушающая строка находится внизу этого представления: Если я применю тему Material3 непосредственно к фрагменту:

Код: Выделить всё


Подробнее здесь: [url]https://stackoverflow.com/questions/79024591/errors-in-style-theme-for-material3-components-in-legacy-app[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»