java - Activity启动时ImageView的大小

标签 java android imageview

我想从应用程序开始时查找 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/

相关文章:

java - TCP多线程服务器不能完全工作

java - Android Emulator 插件在 Jenkins 中不起作用

android - 无法将 ArrayList<Parcelable> 传递给 Activity

android - 裁剪具有纵横比和空白的图像

使 ImageView 运行的 Android 缩放动画

java - 从 txt 文件中读取数据而不下载它?

java - 通过鉴别器函数对流进行分区

java - 打开 tablayout Activity 时我的应用程序崩溃

android - 尝试使用 Mockito 在 Presenter 中测试 void 方法时出现 NullPointerException

android - 将位图设置为背景并裁剪它