我有类似于这个问题:更新布局与动画
基本上:我有一个垂直的LinearLayout视图,里面有edittext、button和list。我想在按下按钮后隐藏edittext,以便为list腾出更多空间(按钮会向上移动)。第二次按下时,edittext应再次可见。Edittext和button高度为“wrap_content”。
我想用动画来隐藏和显示edittext。
我通过重载Animation的applyTransformation方法成功地实现了隐藏动画:
final float edittextheight= edittext.getHeight();
[....]
@Override
protected void applyTransformation(float interpolatedTime,
Transformation t)
{
super.applyTransformation(interpolatedTime, t);
android.view.ViewGroup.LayoutParams lp = edittext.getLayoutParams();
lp.height = (int)(edittextheight*(1.0-interpolatedTime));
edittext.setLayoutParams(lp);
}
问题:
我不知道如何计算高度以便于动画显示 - 当小部件被隐藏且在布局定义中使用“wrap_content”时,edittext.getHeight()返回0。
请帮忙解决?
view.post(runnable);
可以实现同样的效果。在可运行对象中,您可以访问元素的高度。 - Macarse