En pocas palabras, quiero escalar la vista, de la misma manera que Android Market lo hace, cuando hace clic en el botón "Más", en el ejemplo 'Descripción'.
que entenderlo, que el Android Market tiene la disposición de la siguiente estructura:Cómo escalar View/ViewGroup - animar el diseño de una manera adecuada?
<FrameLayout
android:id="@+id/artists_frame"
android:layout_width="fill_parent"
android:layout_height="64dip"
android:layout_below="@id/something1"
android:layout_above="@id/something2"
>
<!-- Some view there, which height >> 64dip -->
</FrameLayout>
lo tanto, he intentado varias animaciones/LayoutAnimations en el FrameLayout (a través de view.setAnimation(), view.setLayoutAnimation()
y ScaleAnimation
), pero el efecto es siempre lo mismo: la vista se anima, pero su distribución real después de escalar sigue siendo la misma (por lo que la posición de las otras vistas, que dependen de FrameLayout), sigue siendo la misma).
Después de eso, he pensado - cambio en el bucle de la layout_height del FrameLayout dado:
layoutParams = view.getLayoutParams()
layoutParams.height = scaleTo;
layout.setLayoutParams(layoutParams);
tengo que consiguió animar, vista como el mercado, pero el costo (rendimiento !! !) es demasiado alto ...
Entonces, la pregunta es: ¿existe alguna otra forma adecuada de escalar (cambiar, por ejemplo, altura de 50 a 200) la vista/grupo de visualización dada para que la posición de las vistas a continuación la vista de animación también cambia?
He estado tratando de hacer exactamente lo mismo. Aquí está mi intento a medio terminar: https://gist.github.com/947574 Establece parámetros de diseño dentro de una subclase de 'Animación'. El rendimiento parecía estar bien. Hay errores de redimensionamiento, no llegó a terminar, se agotó el presupuesto de tiempo mientras buscaba las peculiaridades. –
También aquí hay una pregunta similar con soluciones similares: http://stackoverflow.com/questions/4946295/android-expand-collapse-animation –