예제 #1
0
 /// <summary>Control whether the list is being displayed.</summary>
 /// <remarks>
 /// Control whether the list is being displayed.  You can make it not
 /// displayed if you are waiting for the initial data to show in it.  During
 /// this time an indeterminant progress indicator will be shown instead.
 /// </remarks>
 /// <param name="shown">
 /// If true, the list view is shown; if false, the progress
 /// indicator.  The initial value is true.
 /// </param>
 /// <param name="animate">
 /// If true, an animation will be used to transition to the
 /// new state.
 /// </param>
 private void setListShown(bool shown, bool animate)
 {
     ensureList();
     if (mProgressContainer == null)
     {
         throw new System.InvalidOperationException("Can't be used with a custom content view"
                                                    );
     }
     if (mListShown == shown)
     {
         return;
     }
     mListShown = shown;
     if (shown)
     {
         if (animate)
         {
             mProgressContainer.startAnimation(android.view.animation.AnimationUtils.loadAnimation
                                                   (getActivity(), android.R.anim.fade_out));
             mListContainer.startAnimation(android.view.animation.AnimationUtils.loadAnimation
                                               (getActivity(), android.R.anim.fade_in));
         }
         else
         {
             mProgressContainer.clearAnimation();
             mListContainer.clearAnimation();
         }
         mProgressContainer.setVisibility(android.view.View.GONE);
         mListContainer.setVisibility(android.view.View.VISIBLE);
     }
     else
     {
         if (animate)
         {
             mProgressContainer.startAnimation(android.view.animation.AnimationUtils.loadAnimation
                                                   (getActivity(), android.R.anim.fade_in));
             mListContainer.startAnimation(android.view.animation.AnimationUtils.loadAnimation
                                               (getActivity(), android.R.anim.fade_out));
         }
         else
         {
             mProgressContainer.clearAnimation();
             mListContainer.clearAnimation();
         }
         mProgressContainer.setVisibility(android.view.View.VISIBLE);
         mListContainer.setVisibility(android.view.View.GONE);
     }
 }
예제 #2
0
 /// <summary>Shows only the specified child.</summary>
 /// <remarks>
 /// Shows only the specified child. The other displays Views exit the screen,
 /// optionally with the with the
 /// <see cref="getOutAnimation()">out animation</see>
 /// and
 /// the specified child enters the screen, optionally with the
 /// <see cref="getInAnimation()">in animation</see>
 /// .
 /// </remarks>
 /// <param name="childIndex">The index of the child to be shown.</param>
 /// <param name="animate">
 /// Whether or not to use the in and out animations, defaults
 /// to true.
 /// </param>
 internal virtual void showOnly(int childIndex, bool animate_1)
 {
     int count = getChildCount();
     {
         for (int i = 0; i < count; i++)
         {
             android.view.View child = getChildAt(i);
             if (i == childIndex)
             {
                 if (animate_1 && mInAnimation != null)
                 {
                     child.startAnimation(mInAnimation);
                 }
                 child.setVisibility(android.view.View.VISIBLE);
                 mFirstTime = false;
             }
             else
             {
                 if (animate_1 && mOutAnimation != null && child.getVisibility() == android.view.View
                     .VISIBLE)
                 {
                     child.startAnimation(mOutAnimation);
                 }
                 else
                 {
                     if (child.getAnimation() == mInAnimation)
                     {
                         child.clearAnimation();
                     }
                 }
                 child.setVisibility(android.view.View.GONE);
             }
         }
     }
 }