ViewAnimationUtils.CreateCircularReveal Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns an Animator which can animate a clipping circle.
[Android.Runtime.Register("createCircularReveal", "(Landroid/view/View;IIFF)Landroid/animation/Animator;", "")]
public static Android.Animation.Animator? CreateCircularReveal (Android.Views.View? view, int centerX, int centerY, float startRadius, float endRadius);
[<Android.Runtime.Register("createCircularReveal", "(Landroid/view/View;IIFF)Landroid/animation/Animator;", "")>]
static member CreateCircularReveal : Android.Views.View * int * int * single * single -> Android.Animation.Animator
Parameters
- view
- View
The View will be clipped to the animating circle.
- centerX
- Int32
The x coordinate of the center of the animating circle, relative to
view
.
- centerY
- Int32
The y coordinate of the center of the animating circle, relative to
view
.
- startRadius
- Single
The starting radius of the animating circle.
- endRadius
- Single
The ending radius of the animating circle.
Returns
- Attributes
Remarks
Returns an Animator which can animate a clipping circle.
Any shadow cast by the View will respect the circular clip from this animator.
Only a single non-rectangular clip can be applied on a View at any time. Views clipped by a circular reveal animation take priority over View#setClipToOutline(boolean) View Outline clipping
.
Note that the animation returned here is a one-shot animation. It cannot be re-used, and once started it cannot be paused or resumed. It is also an asynchronous animation that automatically runs off of the UI thread. As a result AnimatorListener#onAnimationEnd(Animator)
will occur after the animation has ended, but it may be delayed depending on thread responsiveness.
Note that if any start delay is set on the reveal animator, the start radius will not be applied to the reveal circle until the start delay has passed. If it's desired to set a start radius on the reveal circle during the start delay, one workaround could be adding an animator with the same start and end radius. For example:
<code>
public static Animator createRevealWithDelay(View view, int centerX, int centerY, float startRadius, float endRadius) {
Animator delayAnimator = ViewAnimationUtils.createCircularReveal(view, centerX, centerY, startRadius, startRadius);
delayAnimator.setDuration(delayTimeMS);
Animator revealAnimator = ViewAnimationUtils.createCircularReveal(view, centerX, centerY, startRadius, endRadius);
AnimatorSet set = new AnimatorSet();
set.playSequentially(delayAnimator, revealAnimator);
return set;
}
</code>
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.