Java ImageView活动启动的大小
我想从我的应用程序开始查找Java ImageView活动启动的大小,java,android,imageview,Java,Android,Imageview,我想从我的应用程序开始查找ImageView的大小 对于我的应用程序,我想做与谷歌地图相同的事情,即显示一幅图像,并在此图像上放置指向位置的指针。指针通过包含与图像相关的X%和Y%的XML文件恢复 要在图像上放置指针,我会执行以下操作: public void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); // more code... float maxX =
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()
的事件中执行相同的操作,它将正确返回实际值
有什么方法可以在应用程序启动时获得此大小?您应该将此方法添加到活动中
@Override
public void onWindowFocusChanged(boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
Log.i("Height",imageViewCarte.getWidth ()+"");
}
在onCreate过程中,视图已充气,但尚未绘制。因此,此方法在绘图过程后被调用,因此您可以通过重写此方法来实现目标