android - left - Animación al cambiar LayoutParams en LinearLayout
linearlayout android caracteristicas (2)
En mi aplicación hay un LinearLayout que tiene 0 altura de diseño. Cuando hago clic en el botón, esta altura de diseño debe ser LayoutParams.WRAP_CONTENT. Este es el código que uso en onclicklistner.
LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
slider.setLayoutParams(lp);
Quiero animar esto. ¿Cómo puedo configurar la animación en el control deslizante?
Creo que solo quieres animar una vista desde 0 altura hasta su altura final, puedes hacer esto con una animación personalizada:
public class ShowAnim extends Animation {
int targetHeight;
View view;
public ShowAnim(View view, int targetHeight) {
this.view = view;
this.targetHeight = targetHeight;
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
view.getLayoutParams().height = (int) (targetHeight * interpolatedTime);
view.requestLayout();
}
@Override
public void initialize(int width, int height, int parentWidth,
int parentHeight) {
super.initialize(width, height, parentWidth, parentHeight);
}
@Override
public boolean willChangeBounds() {
return true;
}
}
Y haz esto en tu código para comenzar la animación:
Animation ani = new ShowAnim(headerView, 100/* target layout height */);
ani.setDuration(2000/* animation time */);
headerView.startAnimation(ani);
Si desea implementar la animación del control deslizante para su diseño, vea esta demostración .
ACTUALIZADO
También vea http://www.inter-fuser.com/2009/07/android-transistions-slide-in-and-slide.html
Espero que te ayude.
Si no, házmelo saber.
Gracias. Disfrutar. :)