对于动画,我需要知道视图的高度.问题是,除非绘制View,否则getHeight()方法总是返回0.那么有没有办法获得高度而不绘制它?
在这种情况下,View是LinearLayout.
编辑:我尝试从https://github.com/Udinic/SmallExamples/blob/master/ExpandAnimationExample/src/com/udinic/expand_animation_example/ExpandAnimation.java改编扩展动画
有了它,我想为列表项扩展一些更多的信息.我无法通过xml实现相同的效果.目前,当您在绘制之前知道布局大小时,动画才会起作用.
我有一个布局,指定相对维度的小部件大小,例如:
<LinearLayout ... layout_height="fill_parent">
<ImageView ... layout_height="wrap_content" />
<TextView ... layout_height="120dp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
紧接着onCreate,我想知道ImageView的高度是多少.怎么做?
注:如果我打电话getHeight()的onCreate,我得到0.
我也试过imageView.postDelayed,它适用于2.1模拟器但在1.5模拟器上失败(我也得到0).
最后,我尝试创建一个Handler,然后我handler.postDelayed用10毫秒的延迟调用.它适用于2.1和1.5模拟器,但是当我在eclipse调试器中启动程序时失败(因此,我得出结论,使用延迟并不能保证在imageview布局后获得高度.)