Romain, Thank you for the suggestion. I just tried but rotation still starts before GridView completes.
Correct me if I misunderstand but here is what may happen: In GridView, a layoutAnimation is used. This LayoutAnimationController in turns specifies animation for each child view. So what I need is an "onAnimationEnd" for LayoutAnimationController - which should be "isDone()" based on API documentation. ##-- I applied Listener onAnimationEnd as follow: LayoutAnimationController animControl = mImageView.getLayoutAnimation (); ... Animation anim = animControl.getAnimation() // or getAnimationForView (...); anim.setAnimationListener(this); ,,, The "anim" here is individual child view, instead of the entire GridView whose completion is what I need. Now if I count how many times onAnimationEnd is called & when count reaches my child view count, I can apply the 2nd animation. But that amounts to implementing my own "isDone()" with hard coded child view count. ##--------------------------------------------------------------- In GridView, I specified a layoutAnimation (not android:anim which appears in layout_random_fade): <FrameLayout .../> <GridView android:layoutAnimation="@anim/layout_random_fade" <-- android:anim in layout_random_fade android:layout_width="fill_parent" android:layout_height="fill_parent" /> <TextView ... /> On Jun 8, 3:17 pm, Romain Guy <romain...@google.com> wrote: > Use a layout animation listener instead. > > > > On Mon, Jun 8, 2009 at 3:00 PM, az9702<az9...@gmail.com> wrote: > > > Hi, > > > I am implementing a two-step animation: > > (1) Displaying a set of images using Grid layout (similar to Api Demo > > LayoutAmination4) > > (2) Upon (1) completion, rotate out Grid layout around Y-axis & rotate > > in another layout > > > Step#2 is similar to Api Demo Rotate3dAnimation but it is triggered w/ > > o any user input. > > As soon as (1) is completed, (2) should occur automatically. > > > To do that, I use LayoutAnimationController isDone to detect if all > > child views of the grid layout are animated: > > > ... > > > LayoutAnimationController animControl = mImageView.getLayoutAnimation > > (); > > ... > > if(animControl.isDone()) { > > Toast.makeText(this, "Animation Done - start rotation", > > 2000).show(); > > > applyRotation(0.0f, 90.0f); > > } > > > The above did not work - rotation always starts before the Grid > > layout is completed. > > > As a workaround, I am using post with a delay - but I want to do w/o > > any guess delays. > > I also experiemented Animation "hasEnded()" but no effect. > > > Does anyone have similar experience with the controller ? Is "IsDone > > ()" the correct way to detect the end of the first animation ? > > > Thanks in advance. > > > - Simon > > -- > Romain Guy > Android framework engineer > romain...@android.com > > Note: please don't send private questions to me, as I don't have time > to provide private support. All such questions should be posted on > public forums, where I and others can see and answer them --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---