我想从应用程序开始时查找 ImageView
的大小。
对于我的应用程序,我想要执行与 Google map 相同的操作,即显示图像,并将指针放置到该图像上的位置。通过包含与图像相关的 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()
这样的事件中执行相同的操作,它会正确返回实际值。
有什么方法可以在应用程序启动时获得这个大小吗?
最佳答案
您应该将此方法添加到您的 Activity 中,
@Override
public void onWindowFocusChanged(boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
Log.i("Height",imageViewCarte.getWidth ()+"");
}
在 onCreate 期间,您的 View 已膨胀但尚未绘制。因此,这里的方法在绘制过程之后被调用,因此您将能够通过重写此方法来实现您的目标..
关于java - Activity启动时ImageView的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10532732/