public class DividerSnapAlgorithm extends Object
Modifier and Type | Class and Description |
---|---|
static class |
DividerSnapAlgorithm.SnapTarget
Represents a snap target for the divider.
|
Constructor and Description |
---|
DividerSnapAlgorithm(Resources res,
int displayWidth,
int displayHeight,
int dividerSize,
boolean isHorizontalDivision,
Rect insets) |
public static DividerSnapAlgorithm create(Context ctx, Rect insets)
public boolean isSplitScreenFeasible()
public DividerSnapAlgorithm.SnapTarget calculateSnapTarget(int position, float velocity)
public DividerSnapAlgorithm.SnapTarget calculateSnapTarget(int position, float velocity, boolean hardDismiss)
position
- the top/left position of the dividervelocity
- current dragging velocityhardDismiss
- if set, make it a bit harder to get reach the dismiss targetspublic DividerSnapAlgorithm.SnapTarget calculateNonDismissingSnapTarget(int position)
public float calculateDismissingFraction(int position)
public DividerSnapAlgorithm.SnapTarget getClosestDismissTarget(int position)
public DividerSnapAlgorithm.SnapTarget getFirstSplitTarget()
public DividerSnapAlgorithm.SnapTarget getLastSplitTarget()
public DividerSnapAlgorithm.SnapTarget getDismissStartTarget()
public DividerSnapAlgorithm.SnapTarget getDismissEndTarget()
public DividerSnapAlgorithm.SnapTarget getMiddleTarget()
public DividerSnapAlgorithm.SnapTarget getNextTarget(DividerSnapAlgorithm.SnapTarget snapTarget)
public DividerSnapAlgorithm.SnapTarget getPreviousTarget(DividerSnapAlgorithm.SnapTarget snapTarget)
public boolean isFirstSplitTargetAvailable()
public boolean isLastSplitTargetAvailable()
public DividerSnapAlgorithm.SnapTarget cycleNonDismissTarget(DividerSnapAlgorithm.SnapTarget snapTarget, int increment)