动画进行layout的动态变化

来源:互联网 发布:最完整的php集成环境 编辑:程序博客网 时间:2024/05/19 20:23

最近做了一个布局的width,height的动态变化,然后这个变化用动画表现出来。

不说了上代码:



super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv_test= findViewById(R.id.tv_test);tv_test.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {ValueAnimator va = ValueAnimator.ofFloat(0, 300);ValueAnimator va2= ValueAnimator.ofFloat(0, 300);    va.setDuration(700);    va2.setDuration(700);    va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {        public void onAnimationUpdate(ValueAnimator animation) {        Float value = (Float) animation.getAnimatedValue();            tv_test.getLayoutParams().width = value.intValue();            tv_test.requestLayout();        }    });    va2.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {    public void onAnimationUpdate(ValueAnimator animation) {    Float value = (Float) animation.getAnimatedValue();    tv_test.getLayoutParams().height = value.intValue();    tv_test.requestLayout();    }    });    va.start();    va2.start();}});

其中tv_test.requestLayout();特别重要,请别忘记了下面是效果图 ,中间的动画过程不会截图,抱歉
原创粉丝点击