Comment Animer des propriétés de la structure de ViewGroups?

J'ai le schéma suivant:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_height="match_parent"
              android:layout_width="match_parent">

    <FrameLayout android:id="@+id/viewgroup_left"
                 android:layout_height="match_parent"
                 android:layout_weight="2"
                 android:layout_width="0dp">

        ... children ... 

    </FrameLayout>

    <LinearLayout android:id="@+id/viewgroup_right"
                  android:layout_height="match_parent"
                  android:layout_weight="1"
                  android:layout_width="0dp"
                  android:orientation="vertical">

        ... children ...

    </LinearLayout>

</LinearLayout>

Je me retrouve avec quelque chose comme ceci:

  +------------------------+------------+
  |                        |            |
  |                        |            |
  |         Left           |   Right    |
  |                        |            |
  |                        |            |
  +------------------------+------------+

Lorsqu'un certain bascule est activée, je veux animer Gauche, de sorte que sa largeur s'agrandit pour remplir la totalité de l'écran. En même temps, je tiens à animer la largeur de Droit, afin qu'il réduit à zéro. Plus tard, lorsque l'interrupteur est basculé de nouveau, j'ai besoin de remettre les choses au-dessus de l'état.

J'ai essayé d'écrire ma propre Animation qui appelle View.getWidth() mais quand je les anime de revenir à cette valeur (par la mise en View.getLayoutParams().width), il est plus large que lorsqu'il a commencé. Je pense que je suis juste de faire le mal. J'ai aussi lu toute la documentation sur le Nid d'animation des trucs, mais je ne veux pas de traduire ou de l'échelle... j'ai envie d'animer la mise en page de la largeur de la propriété. Je ne peux pas trouver un exemple de cela.

Quelle est la bonne façon de le faire?

OriginalL'auteur i_am_jorf | 2011-09-22