ImageView启动活动的大小

时间:2012-05-10 11:07:48

标签: java android imageview

我想从应用程序的开头找到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()之类的事件中执行相同操作,则会正确返回实际值。

有什么办法可以在应用程序启动时获得这个大小吗?

1 个答案:

答案 0 :(得分:1)

您应该将此方法添加到您的活动中,

@Override 
public void onWindowFocusChanged(boolean hasFocus) 
{ 
     super.onWindowFocusChanged(hasFocus);
     Log.i("Height",imageViewCarte.getWidth ()+""); 
} 

在onCreate期间,您的视图已膨胀但尚未绘制。所以这个方法在绘制过程之后被调用,因此你可以通过覆盖这个方法来实现你的目标。

相关问题