最近做了一個佈局的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();特別重要,請別忘記了下面是效果圖 ,中間的動畫過程不會截圖,抱歉