EdgeEffectCompat
public
final
class
EdgeEffectCompat
extends Object
java.lang.Object | |
↳ | androidx.core.widget.EdgeEffectCompat |
Helper for accessing EdgeEffect
.
This class is used to access EdgeEffect
on platform versions
that support it. When running on older platforms it will result in no-ops. It should
be used by views that wish to use the standard Android visual effects at the edges
of scrolling containers.
Summary
Public constructors | |
---|---|
EdgeEffectCompat(Context context)
This constructor is deprecated.
Use |
Public methods | |
---|---|
boolean
|
draw(Canvas canvas)
This method is deprecated.
Use |
void
|
finish()
This method is deprecated.
Use |
boolean
|
isFinished()
This method is deprecated.
Use |
boolean
|
onAbsorb(int velocity)
This method is deprecated.
Use |
boolean
|
onPull(float deltaDistance)
This method is deprecated.
Use |
boolean
|
onPull(float deltaDistance, float displacement)
This method is deprecated.
Use |
static
void
|
onPull(EdgeEffect edgeEffect, float deltaDistance, float displacement)
A view should call this when content is pulled away from an edge by the user. |
boolean
|
onRelease()
This method is deprecated.
Use |
void
|
setSize(int width, int height)
This method is deprecated.
Use |
Inherited methods | |
---|---|
Public constructors
EdgeEffectCompat
public EdgeEffectCompat (Context context)
This constructor is deprecated.
Use EdgeEffect
constructor directly.
Construct a new EdgeEffect themed using the given context.
Note: On platform versions that do not support EdgeEffect, all operations on the newly constructed object will be mocked/no-ops.
Parameters | |
---|---|
context |
Context : Context to use for theming the effect |
Public methods
draw
public boolean draw (Canvas canvas)
This method is deprecated.
Use EdgeEffect.draw(Canvas)
directly.
Draw into the provided canvas. Assumes that the canvas has been rotated accordingly and the size has been set. The effect will be drawn the full width of X=0 to X=width, beginning from Y=0 and extending to some factor < 1.f of height.
Parameters | |
---|---|
canvas |
Canvas : Canvas to draw into |
Returns | |
---|---|
boolean |
true if drawing should continue beyond this frame to continue the animation |
finish
public void finish ()
This method is deprecated.
Use EdgeEffect.finish()
directly.
Immediately finish the current animation.
After this call isFinished()
will return true.
isFinished
public boolean isFinished ()
This method is deprecated.
Use EdgeEffect.isFinished()
directly.
Reports if this EdgeEffectCompat's animation is finished. If this method returns false
after a call to draw(Canvas)
the host widget should schedule another
drawing pass to continue the animation.
Returns | |
---|---|
boolean |
true if animation is finished, false if drawing should continue on the next frame. |
onAbsorb
public boolean onAbsorb (int velocity)
This method is deprecated.
Use EdgeEffect.onAbsorb(int)
directly.
Call when the effect absorbs an impact at the given velocity. Used when a fling reaches the scroll boundary.
When using a Scroller
or OverScroller
,
the method getCurrVelocity
will provide a reasonable approximation
to use here.
Parameters | |
---|---|
velocity |
int : Velocity at impact in pixels per second. |
Returns | |
---|---|
boolean |
true if the host view should invalidate, false if it should not. |
onPull
public boolean onPull (float deltaDistance)
This method is deprecated.
Use onPull(EdgeEffect, float, float)
.
A view should call this when content is pulled away from an edge by the user.
This will update the state of the current visual effect and its associated animation.
The host view should always View.invalidate()
if this method
returns true and draw the results accordingly.
Parameters | |
---|---|
deltaDistance |
float : Change in distance since the last call. Values may be 0 (no change) to
1.f (full length of the view) or negative values to express change
back toward the edge reached to initiate the effect. |
Returns | |
---|---|
boolean |
true if the host view should call invalidate, false if it should not. |
onPull
public boolean onPull (float deltaDistance, float displacement)
This method is deprecated.
Use EdgeEffect.onPull(float)
directly.
A view should call this when content is pulled away from an edge by the user.
This will update the state of the current visual effect and its associated animation.
The host view should always View.invalidate()
if this method
returns true and draw the results accordingly.
Views using EdgeEffect
should favor EdgeEffect.onPull(float, float)
when
the displacement of the pull point is known.
Parameters | |
---|---|
deltaDistance |
float : Change in distance since the last call. Values may be 0 (no change) to
1.f (full length of the view) or negative values to express change
back toward the edge reached to initiate the effect. |
displacement |
float : The displacement from the starting side of the effect of the point
initiating the pull. In the case of touch this is the finger position.
Values may be from 0-1. |
Returns | |
---|---|
boolean |
true if the host view should call invalidate, false if it should not. |
onPull
public static void onPull (EdgeEffect edgeEffect, float deltaDistance, float displacement)
A view should call this when content is pulled away from an edge by the user.
This will update the state of the current visual effect and its associated animation.
The host view should always View.invalidate()
after call this method
and draw the results accordingly.
Parameters | |
---|---|
edgeEffect |
EdgeEffect : The EdgeEffect that is attached to the view that is getting pulled away
from an edge by the user. |
deltaDistance |
float : Change in distance since the last call. Values may be 0 (no change) to
1.f (full length of the view) or negative values to express change
back toward the edge reached to initiate the effect. |
displacement |
float : The displacement from the starting side of the effect of the point
initiating the pull. In the case of touch this is the finger position.
Values may be from 0-1. |
See also:
onRelease
public boolean onRelease ()
This method is deprecated.
Use EdgeEffect.onRelease()
directly.
Call when the object is released after being pulled.
This will begin the "decay" phase of the effect. After calling this method
the host view should View.invalidate()
if this method
returns true and thereby draw the results accordingly.
Returns | |
---|---|
boolean |
true if the host view should invalidate, false if it should not. |
setSize
public void setSize (int width, int height)
This method is deprecated.
Use EdgeEffect.setSize(int, int)
directly.
Set the size of this edge effect in pixels.
Parameters | |
---|---|
width |
int : Effect width in pixels |
height |
int : Effect height in pixels |