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的高和宽吗的主要内容,如果未能解决你的问题,请参考以下文章
2022-09-13:给你两个整数 m 和 n ,分别表示一块矩形木块的高和宽。 同时给你一个二维整数数组 prices ,其中 prices[i] = [hi, wi, pricei] 表示你可以