TransitionDrawable не анимирует панель инструментов значок MenuItem - PullRequest
0 голосов
/ 26 августа 2018

Мне нужно изменить значок рисования меню MenuItem на панели инструментов с плавным постепенным исчезновением, поэтому я реализовал простую функцию, используя TransitionDrawable

private fun MenuItem.transIconTo(newIcon: Drawable, duration: Int) {
    val crossfader = TransitionDrawable(arrayOf(this.icon, newIcon))
    this.icon = crossfader
    crossfader.startTransition(duration)
}

toolbar.menu.findItem(R.id.action_edit)?.transIconTo(ContextCompat.getDrawable(baseContext, R.drawable.ic_edit_grad_1)!!, DRAWABLE_GRAD_TRANS_DURATION)

. Она отлично работает на Jelly Bean и Marshmallow,но не на нуге и на орео!(Я не тестировал другие версии).Он немедленно меняет значок, не исчезая, независимо от значения duration.

Я создаю свое приложение со следующими целями:

compileSdkVersion 28
minSdkVersion 16
targetSdkVersion 28

Версия поддержки зависимостей

28.0.0-rc01

Так что я не знаю, является ли проблема моей программной ошибкой или конфликтом зависимости платформы.У кого-нибудь есть идеи?Можете ли вы предложить допустимые альтернативы?

PS: Использование настраиваемого представления в качестве представления действия не решает проблему.

...