创建活动后,我正在尝试将动画应用于Android应用程序中的视图。为此,我需要确定视图的当前大小,然后设置动画以从当前大小缩放到新大小。这部分必须在运行时完成,因为视图会根据用户的输入缩放为不同的大小。我的布局以XML定义。
这似乎是一项容易的任务,显然有很多关于SO的问题,尽管没有一个能解决我的问题。所以也许我缺少明显的东西。我可以通过以下方式了解我的观点:
ImageView myView = (ImageView) getWindow().findViewById(R.id.MyViewID);
这工作得很好,但打电话时getWidth()
,getHeight()
,getMeasuredWidth()
,getLayoutParams().width
,等,他们都返回0。我也试过手动调用measure()
视图上,然后到一个呼叫getMeasuredWidth()
,但没有效果。
我试过调用这些方法,并在活动的onCreate()
和中检查调试器中的对象onPostCreate()
。如何在运行时找出该视图的确切尺寸?
match_parent
)后,我才为之奋斗。在这种情况下,即使在绘制View之前,也可以安全地调用一个更简单的解决方案(例如,通过Activity的onCreate()方法),只需使用Display.getSize();有关详细信息,请参见stackoverflow.com/a/30929599/5025060。我知道这不是@NikReiman要求的,只是给那些可能使用此更简单方法的人留下了笔记。