Gibt es, ohne LayoutParams zu verwenden, eine andere Möglichkeit, die Größe einer Ansicht zu ändern, zu reduzieren oder zu erweitern? Ich habe diese Animationen in einigen Videos des neuen Material Designs und in der neuen Android Dialer App gesehen. Google sagte, dass Material Form, Größe, Rotation, Farbe, etc. leicht ändern kann ... aber ich kann nichts finden.Animieren der Größenanpassungsansicht in Material Design
Gibt es Rückwärtskompatibilität?
Bis jetzt, um die Größe, Kollaps oder eine Ansicht erweitern wir mit layoutParams wie dies zum Beispiel arbeiten mussten:
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);
}
Hier ist ein Beispiel dafür, was ich von den neuen will Google Android Dialer App:
Mit 'scaleY (..)' nicht das Layout beeinflussen . Nur die sichtbare Größe des Elements ändert sich, aber nicht der Platz, den die Ansicht im Layout einnimmt. – Gareth
Yup, wäre ein 'PropertyValuesHolder' eine bessere Option – user3285324