Почему добавление 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
Ответить

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

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

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

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

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