android中的动画可以改变一个view的高和宽吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android中的动画可以改变一个view的高和宽吗相关的知识,希望对你有一定的参考价值。

android中有三种动画类型,分别是TweenAnimation, FrameAnimation和PropertyAnimation。


要在视觉上改变view的高和宽,只是视觉

一:可以使用TweenAnimation类型的缩放动画ScaleAnimation,但是通过实践可以发现虽然视觉上view控件是增大或者缩小了,但是触摸范围还是原来的大小,真正意义上的宽高也就是getMeasureWidth和getMeasureHeight的值并不会改变,所以不符合要求


二:使用PropertyAnimation,属性动画就是通过改变控件的属性来达到动画的效果,所以根据需求属性动画是合适的

示例代码如下

View view;
ObjectAnimator animator = ObjectAnimator.ofFloat(view, "scaleY", 1f,2f);
animator.setDuration(1000);
animator.start();

上面代码的效果就是让view的高度拉伸一倍

只要是控件的setXXX方法可以改变view就可以使用,比如setTranslationX,setScrollY等等方法

参考技术A  类似效果,你的动画改变view布局参数,应该对imageView应用新的布局参数。

  创建应用新布局参数(lp)的自定义动画,对不同imageView每个框架都设置不同高宽。然后图片就可以增大尺寸,并且移动其他图片,这样的例子在网上可以找到。

  @Override
  protected void applyTransformation(float interpolatedTime, Transformation t)
  android.view.ViewGroup.LayoutParams lp = mContent.getLayoutParams();
  lp.height = (int) (mStartHeight + mDeltaHeight * interpolatedTime);
  mContent.setLayoutParams(lp);
  本回答被提问者和网友采纳

以上是关于android中的动画可以改变一个view的高和宽吗的主要内容,如果未能解决你的问题,请参考以下文章

c#获取图片的高和宽

怎么设置text的高和宽?在线等

js如何获取图片的高和宽?根据我的部分代码添加完善,谢谢!

HTML+JS将div的高和宽按比例复制给另一个DIV

2022-09-13:给你两个整数 m 和 n ,分别表示一块矩形木块的高和宽。 同时给你一个二维整数数组 prices ,其中 prices[i] = [hi, wi, pricei] 表示你可以

android 可拖拽View的简单实现