Я пытаюсь применить анимацию к представлению в своем приложении для Android после создания моей активности. Для этого мне нужно определить текущий размер представления, а затем настроить анимацию для масштабирования от текущего размера до нового размера. Эта часть должна выполняться во время выполнения, так как представление масштабируется до разных размеров в зависимости от ввода от пользователя. Мой макет определен в XML.
Это похоже на легкую задачу, и есть много вопросов SO, касающихся этого, хотя никто, который решил мою проблему, очевидно. Поэтому, возможно, мне не хватает чего-то очевидного. Я получаю ручку к моему мнению:
ImageView myView = (ImageView)getWindow().findViewById(R.id.MyViewID);
Это работает нормально, но при вызове getWidth()
, getHeight()
, getMeasuredWidth()
, getLayoutParams().width
и т.д. все они возвращают 0. Я также пробовал вручную вызывать measure()
в представлении, сопровождаемом вызовом до getMeasuredWidth()
, но это не влияет.
Я попытался вызвать эти методы и проверить объект в отладчике в своей активности onCreate()
и в onPostCreate()
. Как я могу определить точные размеры этого представления во время выполнения?