![](/img/trans.png)
[英]Image Bitmap gets rotated when loaded from camera/gallery [Android 9]
[英]Android - how to determine when bitmap loaded to ImageView gets displayed?
我正在使用Android(6.0)应用,该应用需要在其他屏幕(通过HDMI端口连接)上显示图像。 这是通过使用Glide库和Presentation类完成的。 Glide提供了“ onResourceReady”事件,该事件在将图像加载到imageview时完成。 可悲的是,我确定这并不意味着图像已经显示!
我需要知道此附加屏幕上何时有图像,因为我需要精确测量显示的时间。 我还尝试检查我的imageview是否为“ isDirty”,并且我还注意到,即使在我此方法返回false(因此图像视图不再脏)之后,在该时间(imageview不再变脏)和实际绘图之间仍有一段时间屏幕上的图像。
Android是否提供了在图像真正显示在屏幕上后会触发的任何机制? 即使它需要进行一些黑客攻击,深入研究NDK等?
您应该使用GlobalLayoutListener来确定何时绘制视图。 示例实现:
yourImageView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
yourImageView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
//Put your measurements here.
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.