Анимация изменения размера в материальном дизайне
Без участия layoutParams существует ли другой способ изменить размер, свернуть или расширить представление? Я видел эти анимации в некоторых вихрях нового Material Design и в новом приложении Android Dialer. Google сказал, что материал может легко изменять форму, размер, поворот, цвет и т.д., Но я ничего не могу найти.
Есть ли обратная совместимость?
До сих пор, чтобы изменять размер, сворачивать или расширять представление, нам приходилось работать с layoutParams, например, следующим образом:
public static void collapse(final View v) {
final int initialHeight = v.getMeasuredHeight();
Animation a = new Animation()
{
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
if(interpolatedTime == 1){
v.setVisibility(View.GONE);
}else{
v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime);
v.requestLayout();
}
}
@Override
public boolean willChangeBounds() {
return true;
}
};
a.setDuration((int)(initialHeight / v.getContext().getResources().getDisplayMetrics().density));
v.startAnimation(a);
}
Вот пример того, что я хочу от нового приложения Google Android Dialer:
![enter image description here]()
Ответы
Ответ 1
Я думаю, что ViewPropertyAnimator - это то, что вы хотите.
проверьте эту ссылку http://developer.android.com/guide/topics/graphics/prop-animation.html#view-prop-animator
Вот пример:
view.animate().scaleY(endHeight/initialHeight).start()
Это та же анимация, что и в вашем коде