Без участия 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: