【问题标题】:can android animation change view's sizeandroid动画可以改变视图的大小吗
【发布时间】:2013-01-22 08:54:45
【问题描述】:

是否可以通过动画改变图像大小?我想要实现的是我有一个imageView,我想使用动画来调整它的大小。让它更大,就像我在xml文件中设置它200dip,动画之后它变成500dip。这可能吗?我应该使用什么方法?任何帮助和指导将非常受欢迎。谢谢:D。

或者可以实现这个效果。

编辑:

我想我需要更清楚一点,我有一个屏幕800dip。有两个视图,第一个是200dip,另一个是600dip >.so第二个尺寸是由screen size - first size计算的,我想知道我是否将第一个imageView的尺寸通过动画更改为600dip,当然第二个imageView变成了200自动的,会这样吗?

【问题讨论】:

  • 你到底尝试了什么?
  • 如果你已经在使用ScaleAnimation,你可以设置属性setFillAfter(true);
  • @m0skit0 我有更新请看看
  • @ShreyaS 我有更新请看一下

标签: android animation


【解决方案1】:

您的动画更改了视图层次结构参数,因此您应该将新的布局参数 (lp) 应用于 ImageView。

创建自定义动画,将新的 lp 应用于 ImageView,在每一帧上设置不同的宽度/高度。所以你的图像视图会增加它的大小并移动其他视图。有很多例子如何实现这一点。 Take a look at this one.

    @Override
    protected void applyTransformation(float interpolatedTime, Transformation t) {
        android.view.ViewGroup.LayoutParams lp = mContent.getLayoutParams();
        lp.height = (int) (mStartHeight + mDeltaHeight * interpolatedTime);
        mContent.setLayoutParams(lp);
    }

【讨论】:

  • 哇,这看起来像我想要的,这是比例动画吗?我应该将高度与动画的时间绑定吗?现在我用一个定时器,每50ms改变高度,但效果看起来很愚蠢。
  • @SweetLady 嗨,你能提供任何样品吗?
猜你喜欢
  • 2014-08-10
  • 1970-01-01
  • 2011-03-07
  • 2013-12-18
  • 2014-04-28
  • 2012-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多