我有:
>使用GridLayoutManager的recyclerview
>包含ImageView的网格项目布局(高度wrap_content和宽度match_parent)包装在Framelayout中,因此图像在水平方向上对齐| bottom | center_horizo??ntal
>毕加索从网络上将图像异步加载到ImageView中
现在的情况:
图像已加载到imageView中,但是imageview的大小是回收的网格项目的imageview的大小.
我想实现的目标:
将图像加载到imageview后,在运行时调整imageview的大小(重新绘制).
我试过的
> notifyItemChanged()-可以做到(至少在理论上),但是我
无法检查当前网格项目的视图是否在布局中
状态,因此我的应用因IllegalStateException崩溃了
>使用回调监听毕加索的负载,然后onSuccess()检查imageview可绘制的长宽比,并尝试使用
requestLayout().不工作. (很好,但只有在
是动画或触发布局重新绘制的内容.如果
一无所有,则不会重新绘制imageview.)
>通过回调监听毕加索的负载,然后onSuccess()启动动画以使imageview的alpha动画化.这将触发重画.但这有时有时是行不通的(我不知道为什么).