#android #android-studio #android-layout #android-6.0-marshmallow
#Android #android-studio #android-макет #android-6.0-marshmallow
Вопрос:
Я получаю следующую ошибку при сборке моего приложения, ориентированного на API 23
AAPT: error: resource android:style/TextAppearance.Material.Widget.Button.Borderless.Colored not found
error: resource android:style/TextAppearance.Material.Widget.Button.Colored not found.
и список ошибок, подобных :
/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:3217: error: resource android:attr/textFontWeight not found.
Приложение построено на уровне API 29, но мне нужно, чтобы оно работало именно на API 23, поэтому изменение версии API не является вариантом.
есть ли какой-нибудь способ, которым я мог бы использовать старый макет? приложение вообще не должно быть красивым, ему просто нужно работать.
редактировать: я добавил следующую строку: implementation 'com.google.android.material:material:1.2.1'
to build.grade (:app) в надежде, что библиотека предоставит ресурсы, но это не сработало
но, возможно, я добавил его неправильно
Ответ №1:
android:style/TextAppearance.Material.Widget.Button.Borderless.Colored
был добавлен в API 24, поэтому при сборке для устройств с 23 вы получаете эту ошибку. решением будет реализация MaterialComponents
библиотеки, которая позволит вам использовать более новые стили / виджеты на старых устройствах. найдите View
, что вызывает вашу проблему, и замените его вышеуказанной библиотекой или установите стиль сопоставления
Комментарии:
1. спасибо, я попробовал, и это что-то изменило. Я отредактировал сообщение
2. вы импортировали его правильно, но это не даст вам точно такое же название темы — это будет конфликт имен на более новых устройствах. все встроенные атрибуты начинаются с
android:
префикса, а атрибуты из библиотек (или локального пользовательского интерфейса) не будут иметь этого префикса. вы можете попытаться удалитьandroid:
сохранение rest (запускstyle/TextAppearance...
), но я сомневаюсь, что это сработает, вам нужно прочитать какой-нибудь документ и поискать эквивалент с измененным наименованием, например.Material.
, part может измениться на.MaterialCompat.
(и использовать егоandroid:
также без префикса)3. это очень полезная информация, спасибо, я постараюсь проверить наличие ресурсов, отличных от Android: