Android - activity.setContentView 完成渲染时是否触发了任何事件?

标签 android image events matrix onready

一旦我的 Activity 准备就绪,我将尝试从 myImageView.getImageMatrix() 方法中获取值。 我尝试使用 onCreate()onStart()onResume() 方法,但我得到的矩阵是默认值。

如果我调用由 OnClickListener 触发的 myImageView.getImageMatrix(),在我的 Activity 可见后,我会得到正确的值。


为了更清楚:

  • 调用 getImageMatrix onStart = Matrix{[1.0, 0.0, 0.0][0.0, 1.0, 0.0][0.0, 0.0, 1.0]}

  • 调用 getImageMatrix onClick = Matrix{[0.77488154, 0.0, 7.6717987][0.0, 0.77488154, 0.0][0.0, 0.0, 1.0]}

最佳答案

你也可以试试这个方法:

ImageView myImageView = (ImageView) findViewById(R.id.myImageView);
ViewTreeObserver vto = myImageView.getViewTreeObserver();      
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {          
     @Override          
     public void onGlobalLayout() {              
        // do something now when the object is loaded 
        // e.g. find the real size of it etc          
        myImageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);        
     }      
});  

关于Android - activity.setContentView 完成渲染时是否触发了任何事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8740968/

相关文章:

html - 我正在尝试给图像添加“阴影”,但是我没有用

jquery - jQuery表单事件监听器

android - 如何在不同的 Activity 之间共享一个套接字对象?

android:为 sqlite 创建函数

java - 通过 HTTPS 网络进行加密/解密

java - PDF压缩Java

image - iTextSharp - 文本重叠图像

android - EditText 不会在屏幕方向更改时自动保存

c# - 如果异步引发事件会起作用吗?

c++ - AMQP-CPP : Broken pipe error in TCP Handler