TransWikia.com

Отображение layout вместо drawable в Glide

Stack Overflow на русском Asked by bardaevb on December 3, 2020

Как через Glide в placeholder и error отобразить layout. По умолчанию он требует ресурс drawable, но мне нужно отобразить именно layout. Как можно это сделать? Если нельзя есть иные пути?

One Answer

Вам нужо выбрать один из 3 путей. Вы не описали вашу задачу, засим можно лишь гадать какой именно вам лучше выбрать.

  1. Скорее всего вам нужен просто слушатель ошибки загрузки, в котором вам надо скрывать/показывать вьюху с ошибкой:

     Glide.with(imageView)
     .load(imageUrl)
     .addListener(object : RequestListener<Drawable> {
         override fun onLoadFailed(
             e: GlideException?,
             model: Any?,
             target: Target<Drawable>?,
             isFirstResource: Boolean
         ): Boolean {
             // отобразите вьюху при ошибке
             return false
         }
    
         override fun onResourceReady(
             resource: Drawable,
             model: Any?,
             target: Target<Drawable>?,
             dataSource: DataSource?,
             isFirstResource: Boolean
         ): Boolean {
             // картинка успешно загрузилась
             return false
         }
     })
     .into(imageView)
    
  2. Либо сделайте таки картинку из вашей разметки вручную, поместите в ресурсы, и используйте как угодно.

  3. Ещё можно программно превратить вьюху в Bitmap и её отображать в ImageView

Correct answer by ЮрийСПб on December 3, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP