Есть ли способ нацелить определенные API-интерфейсы в файле drawable.xml? - PullRequest
0 голосов
/ 03 января 2019

Я создал пользовательское рисование с использованием пульсации, которое предназначено только для API 21 и выше, я знаю, что это возможно сделать программно, но есть ли способ сделать это в самом рисованном объекте?

Я также пытался сделатьотдельная папка для более высоких API, которая, как я слышал, может быть сделана с макетами, но, к счастью, ничего не добавлено.

Ответы [ 3 ]

0 голосов
/ 03 января 2019

Вы можете создать несколько ресурсов для разных версий API и позволить Android выбрать один из них в зависимости от версии устройства API.Создайте новый drawable.xml файл, но выберите API версию 21 в качестве квалификатора и добавьте в него свой код.Создайте еще один drawable.xml без спецификатора версии и поместите другой код, работающий в версии до 21.

0 голосов
/ 03 января 2019

Вы можете использовать что-то вроде этого:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP)

, а затем покажите свой рисунок.

0 голосов
/ 03 января 2019

Похоже, вы уже пробовали, но это должно работать.Создайте drawable-v21 в своей папке res.Это должно быть предназначено для API 21 и выше (или если у вас есть другая папка для рисования с более высоким API, т.е. drawable-v24, ваш 21 будет ориентироваться от 21 до 23).Поместите ваши чертежи для этого уровня в этот новый каталог

...