Skip to content

Instantly share code, notes, and snippets.

@zihadrizkyef
Created August 29, 2018 04:02
Show Gist options
  • Save zihadrizkyef/2879448bdc802c4098b37d8e31c0cb7e to your computer and use it in GitHub Desktop.
Save zihadrizkyef/2879448bdc802c4098b37d8e31c0cb7e to your computer and use it in GitHub Desktop.
Html.fromhtml ImageGetter example
val imageGetter = Html.ImageGetter {
val levelListDrawable = LevelListDrawable()
val drawable = context.resources.getDrawable(R.drawable.ic_book)
levelListDrawable.addLevel(1, 1, drawable)
val displayMetrics = DisplayMetrics()
(context as Activity).windowManager.defaultDisplay.getMetrics(displayMetrics)
val widthImg = displayMetrics.widthPixels
val heightImg = widthImg/3*2
levelListDrawable.setBounds(0, 0, widthImg, heightImg)
levelListDrawable.level = 1
tvText.invalidate()
GlideApp.with(this@ProfileView)
.asBitmap()
.load(NetworkClient.API_BASE_URL+it)
.centerCrop()
.override(widthImg, heightImg)
.into(object: SimpleTarget<Bitmap>() {
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
val drawable = BitmapDrawable(resource)
levelListDrawable.addLevel(2, 2, drawable)
levelListDrawable.setBounds(0, 0, widthImg, heightImg)
levelListDrawable.level = 2
tvText.postDelayed({ tvText.postInvalidate() }, 50)
}
})
return@ImageGetter levelListDrawable
}
tvText.text = Html.fromHtml(response!!.body()!!, imageGetter, null)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment