Diciamo che ho un layout lineare verticale con:
[v1]
[v2]
Di default v1 ha visibily = GONE. Vorrei mostrare v1 con un'animazione di espansione e spingere verso il basso v2 allo stesso tempo.
Ho provato qualcosa del genere:
Animation a = new Animation()
{
int initialHeight;
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
final int newHeight = (int)(initialHeight * interpolatedTime);
v.getLayoutParams().height = newHeight;
v.requestLayout();
}
@Override
public void initialize(int width, int height, int parentWidth, int parentHeight) {
super.initialize(width, height, parentWidth, parentHeight);
initialHeight = height;
}
@Override
public boolean willChangeBounds() {
return true;
}
};
Ma con questa soluzione, ho un battito di ciglia quando inizia l'animazione. Penso che sia causato dalla visualizzazione a schermo intero di v1 prima dell'applicazione dell'animazione.
Con javascript, questa è una riga di jQuery! Un modo semplice per farlo con Android?