SetColorFilter устарел на API29Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 SetColorFilter устарел на API29

Сообщение Anonymous »

Я использую следующую строку, чтобы изменить цвет VectordRawable: < /p>

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

mydrawable.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_ATOP)< /code> < /p>

Это работает хорошо, хотя теперь это устарело. Документация предполагает, что я использую: < /p>

mydrawable.getBackground().setColorFilter(new BlendModeColorFilter(color, PorterDuff.Mode.SRC_ATOP))


Хотя Blendmodecolorfilter доступен только на API29. После изучения источника устаревшего метода я понял, что он вызывает: < /p>

new PorterDuffColorFilter()< /code> < /p>

Итак, я пошел вперед и использовал: < /p>

mydrawable.getBackground().setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP))< /code> < /p>

Раскраска работала. Это правильная замена для устаревшего метода, или я должен использовать BlendModeColorFilter на API29? < /P>

Спасибо. < /P>

Подробнее здесь: https://stackoverflow.com/questions/567 ... d-on-api29
Ответить

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

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

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

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

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