onsizechanged和surfacechanged之间的区别?

时间:2013-07-07 16:26:16

标签: android

onsizechanged()surfacechanged()方法有什么区别?

当视图大小发生变化时调用

onsizechanged(),而当曲面更改时调用surfacechanged() ...因此当大小发生变化时,将同时调用这两种方法?

这实际发生的方式和何时使用这两个 ......

您还可以提供一些关于视图框架的教程的链接,以便更好地了解Android开发人员以外的其他内容吗?

1 个答案:

答案 0 :(得分:1)

首先,这两种方法完全不同,即使它们在surfaceview的情况下被一起调用。

  

在对曲面进行任何结构更改(格式或大小)后立即调用此方法。此时您应该更新曲面中的图像。在surfaceCreated(android.view.SurfaceHolder)之后,此方法总是被调用至少一次。

  • onSurfaceChanged是surfaceholder接口的回调方法。许多View对象实现了哪些(GLSurfaceView,SurfaceView)。
  

当此视图的大小发生更改时,将在布局期间调用此方法。如果刚刚添加到视图层次结构中,则使用旧值0调用。

现在技术上两者都会同时被调用。但如果您更改表面对象的PixelFormat,则会onSurfaceChanged单独调用。