I want to resize some layouts in my Activity.
Here is the code of the main XML:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/top"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:background="#3ee3e3" >
</LinearLayout>
<LinearLayout
android:id="@+id/middle"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
</LinearLayout>
<LinearLayout
android:id="@+id/bottom"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:background="#fe51e6" >
</LinearLayout>
</LinearLayout>
As you can see, the top and bottom layouts height's is 0, and the middle layout covers all the place.
I want to programmatically decrease the middle layout size, while increase both the top and the bottom layout sizes, till all the layouts have the same height.
I want it to be look like an animation.
How should I do that?
Thanks
Also you can resize with Google's new Spring animations.
SpringAnimation creation method:
Usage (Resize to 80% of the original view size.)
On Honeycomb (Android 3.0) there is the
Animator
andObjectAnimator
classes for smoother animations.Read it here
Example on how to animate the move of a view group (LinearLayout) with a bounce interpolator.
This will trigger a smooth animation with a bounce effect and really move the views not like animation prior to Honeycomb. From the docs :
I wrote a ResizeAnimation for a similar purpose. It's simple but costly.