【发布时间】:2023-03-26 07:57:02
【问题描述】:
我想将图片从 url 加载到底部导航视图的菜单项图标中。与 instagram 一样,我们希望在我们的一个菜单中显示配置文件图像,当从不同的可用配置文件切换时,该菜单可能会发生变化。 目前,我正在尝试下面的代码,但它不会每次都加载图像。
val menu = mViewDataBinding?.bnvNavigation?.menu
val menuItem = menu?.findItem(R.id.menu_profile)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
menuItem?.setIconTintList(null)
menuItem?.setIconTintMode(null)
}
Glide.with(this)
.asBitmap()
.load(profilePic)
.apply(
RequestOptions.circleCropTransform()
.placeholder(R.drawable.user_profile_icon_updated)
)
.into(object :
CustomTarget<Bitmap>(UIHelper.dpToPx(this, 24), UIHelper.dpToPx(this, 24)) {
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
menuItem?.icon = BitmapDrawable(resources, resource)
}
override fun onLoadCleared(placeholder: Drawable?) {
}
})
【问题讨论】:
-
你找到答案了吗??
-
@vivekpanchal,是的,实际上只是将应用程序上下文传递给 Glide.with(App.Instance) 及其工作
-
我做了完全一样的,但我得到一个灰色图标你能分享代码吗?如果可能的话
-
@vivekpanchal 在答案中添加了工作代码。请检查
标签: android android-glide bottomnavigationview material-components-android