最近做了一个布局的width,height的动态变化,然后这个变化用动画表现出来。
不说了上代码:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_test= findViewById(R.id.tv_test);
tv_test.setOnClickListener(new OnClickListener() {
@Override
public 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();特别重要,请别忘记了下面是效果图 ,中间的动画过程不会截图,抱歉