相关疑难解决方法(0)

使用ValueAnimator动画LinearLayout容器的高度

我有一个LinearLayout,我用它作为一些按钮和textview的容器,我想设置高度的动画,以便在用户按下"显示"按钮时给出布局滑落的印象.

我在我的xml中将LinearLayout设置为layout_height ="0dp"并且visibility ="gone".然后,我希望将其设置为可见,并且需要包含内容的高度.目前我有问题甚至根本没有动画,永远不要把包装内容高度调整.

这是我的动画制作方法:

private void toggle(final LinearLayout v) {
    v.setVisibility(View.VISIBLE);
    ValueAnimator va = ValueAnimator.ofInt(0, 300);
    va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        public void onAnimationUpdate(ValueAnimator animation) {
            Integer value = (Integer) animation.getAnimatedValue();
            v.getLayoutParams().height = value.intValue();
            v.invalidate();

        }
    });

    va.start();
}
Run Code Online (Sandbox Code Playgroud)

也许问题是我如何设置LinearLayout的高度?或者我误解了ValueAnimator的功能?我查看了Chet Haase的博客文章,但它们没有包含任何特定高度的动画示例.我也没有能够找到如何使用3.0+的API来处理高度动画的好例子.希望对此有所帮助,谢谢!

animation android android-linearlayout

23
推荐指数
1
解决办法
3万
查看次数

标签 统计

android ×1

android-linearlayout ×1

animation ×1