我有一个显示某些元素的recyclerview,其中可能有图片。
为了显示该图片,出于性能原因,我使用了this方法。

我在public void onViewAttachedToWindow(final ViewHolder holder)中使用它,但是我的ImageView的宽度和高度仍然为0。

那么,什么时候应该显示图像?

最佳答案

您可以通过执行类似mImageView.getViewTreeObserver().addOnPreDrawListener(...)的操作将PreDrawListener附加到ViewTreeObserver上。

调用该方法后,您可以访问View的宽度或高度。
请记住,一旦触发了监听器,就将其删除:mImageView.getViewTreeObserver().removeOnPreDrawListener(this)从监听器中删除。

PS:对不起,我现在无法访问IDE,所以我可能做了一些错字;)

07-26 07:46