我想从应用程序的开头找到ImageView
的大小。
对于我的应用,我想做与谷歌地图相同的事情,即显示图像,并将指针放在此图像上的位置。指针通过包含与图像相关的X%
和Y%
的XML文件进行恢复。
要将指针放在我的图像上,我会做这样的事情:
public void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
// more code...
float maxX = imageViewCarte.getWidth();
maxY imageViewCarte.getHeight float = ();
}
问题是这些值在应用程序开始时为null
。所以,我试图在onStart()
和onResume()
中做同样的事情,但无济于事,我总是0
!但是,如果我在onClick()
之类的事件中执行相同操作,则会正确返回实际值。
有什么办法可以在应用程序启动时获得这个大小吗?
答案 0 :(得分:1)
您应该将此方法添加到您的活动中,
@Override
public void onWindowFocusChanged(boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
Log.i("Height",imageViewCarte.getWidth ()+"");
}
在onCreate期间,您的视图已膨胀但尚未绘制。所以这个方法在绘制过程之后被调用,因此你可以通过覆盖这个方法来实现你的目标。