Почему добавление ImageSpan в текст действия Snackbar работает на уровне SDK 26 для устройств Android, но не на уровне SAndroid

Форум для тех, кто программирует под Android
Anonymous
Почему добавление ImageSpan в текст действия Snackbar работает на уровне SDK 26 для устройств Android, но не на уровне S

Сообщение Anonymous »

Я хочу показать Snackbar и использовать для действия изображение вместо текста.
Я использую следующий код:

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

    val imageSpan = ImageSpan(this, R.drawable.star)
val builder = SpannableStringBuilder(" ")
builder.setSpan(
imageSpan,
0,
1,
SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE
)
Snackbar.make(findViewById(R.id.container), "Hello Snackbar", Snackbar.LENGTH_INDEFINITE)
.setAction(builder) {}.show()

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

drawable_star
является векторным графическим ресурсом, но то же самое происходит с png.
На устройстве Android 26 уровня и выше это дает:
Изображение

как и ожидалось, тогда как на устройстве 25-го уровня изображение не видно:
Изображение

Кто-нибудь знает причину этого и есть ли обходной путь?
PS: Вы можете проверить мой тестовый проект здесь: https://github.com/fmweigl/SpannableTest

Подробнее здесь: https://stackoverflow.com/questions/628 ... id-devices

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