android – 在应用程序生命周期的什么时候可以应该使用布局测量?

android – 在应用程序生命周期的什么时候可以应该使用布局测量?,第1张

概述关于这个问题有很多问题,但大多数都太专业了,不能回答我的问题. 我有一个谷歌地图,我告诉它适合它的相机到某些边界.也许不是很令人惊讶,我收到一个错误: java.lang.IllegalStateException:地图大小不应为0.很可能,地图视图尚未出现布局. 所以让我们将这个问题抽象到任何View. 这个“布局”事件何时实际发生?例如,onMeasure()没有出现在Activity Lif 关于这个问题有很多问题,但大多数都太专业了,不能回答我的问题.

我有一个谷歌地图,我告诉它适合它的相机到某些边界.也许不是很令人惊讶,我收到一个错误:

java.lang.IllegalStateException:地图大小不应为0.很可能,地图视图尚未出现布局.

所以让我们将这个问题抽象到任何VIEw.

这个“布局”事件何时实际发生?例如,onMeasure()没有出现在Activity Lifecycle中.何时可以安全地调用我需要布局的方法?

解决方法 正如文档所说,你应该使用它
mapa.moveCamera(CameraUpdateFactory.newLatLngBounds(Builder.build(),this.getResources().getdisplayMetrics().wIDthPixels,this.getResources().getdisplayMetrics().heightPixels,50));

这是一项活动,相反

mapa.moveCamera(CameraUpdateFactory.newLatLngBounds(Builder.build(),50));

这对我有用.

文档

Note: Only use the simpler method newLatLngBounds(boundary,padding) to generate a CameraUpdate if it is going to be used to move the camera after the map has undergone layout. During layout,the API calculates the display boundarIEs of the map which are needed to correctly project the bounding Box. In comparison,you can use the CameraUpdate returned by the more complex method newLatLngBounds(boundary,wIDth,height,padding) at any time,even before the map has undergone layout,because the API calculates the display boundarIEs from the arguments that you pass.

总结

以上是内存溢出为你收集整理的android – 在应用程序生命周期的什么时候可以/应该使用布局测量?全部内容,希望文章能够帮你解决android – 在应用程序生命周期的什么时候可以/应该使用布局测量?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1137854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存