Most visited

Recently visited

Added in API level 21

ArcMotion

public class ArcMotion
extends PathMotion

java.lang.Object
   ↳ android.transition.PathMotion
     ↳ android.transition.ArcMotion


PathMotion在包含两个点的虚圆上沿圆弧生成曲线路径。 如果点之间的水平距离小于垂直距离,则圆的中心点将与终点水平对齐。 如果垂直距离小于水平距离,则圆的中心点将与终点垂直对齐。

当两点接近水平或垂直时,运动曲线将会变小,因为圆心与两点都很远。 为了强制路径的曲率,可以使用setMinimumHorizontalAngle(float)setMinimumVerticalAngle(float)来设置两点之间的弧的最小角度。

这可以在XML中用作转换中的元素。

<changeBounds>
   <arcMotion android:minimumHorizontalAngle="15"
              android:minimumVerticalAngle="0"
              android:maximumAngle="90"/>
 </changeBounds>
 

Summary

XML attributes

android:maximumAngle The maximum arc angle in degrees between the start and end points. 
android:minimumHorizontalAngle The minimum arc angle in degrees between the start and end points when they are close to horizontal. 
android:minimumVerticalAngle The minimum arc angle in degrees between the start and end points when they are close to vertical. 

Public constructors

ArcMotion()
ArcMotion(Context context, AttributeSet attrs)

Public methods

float getMaximumAngle()

沿着两点之间的圆返回最大弧。

float getMinimumHorizontalAngle()

沿水平方向对齐的两点之间的圆返回最小圆弧。

float getMinimumVerticalAngle()

沿垂直方向对齐的两个点之间的圆返回最小圆弧。

Path getPath(float startX, float startY, float endX, float endY)

提供一个在两点之间插入的路径 (startX, startY)(endX, endY)

void setMaximumAngle(float angleInDegrees)

设置沿两个点之间的圆的最大弧。

void setMinimumHorizontalAngle(float angleInDegrees)

沿水平方向对齐的两个点之间的圆圈设置最小圆弧。

void setMinimumVerticalAngle(float angleInDegrees)

沿垂直方向对齐的两个点之间的圆圈设置最小圆弧。

Inherited methods

From class android.transition.PathMotion
From class java.lang.Object

XML attributes

android:maximumAngle

起点和终点之间的最大弧度角度。

必须是浮点值,例如“ 1.2 ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 maximumAngle

相关方法:

android:minimumHorizontalAngle

开始点和结束点之间接近水平时的最小弧度角度(以度为单位)。

必须是浮点值,例如“ 1.2 ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 minimumHorizontalAngle

相关方法:

android:minimumVerticalAngle

开始点和结束点之间的最小弧度角(以度为单位)接近垂直时。

必须是浮点值,例如“ 1.2 ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 minimumVerticalAngle

相关方法:

Public constructors

ArcMotion

Added in API level 21
ArcMotion ()

ArcMotion

Added in API level 21
ArcMotion (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

Public methods

getMaximumAngle

Added in API level 21
float getMaximumAngle ()

沿着两点之间的圆返回最大弧。 当起点和终点接近x和y的差值时,它们之间的曲线很大。 这迫使弯曲路径具有至多给定角度的弧。

默认值是70度。

相关XML属性:

Returns
float The maximum angle of the arc on a circle describing the Path between the start and end points.

getMinimumHorizontalAngle

Added in API level 21
float getMinimumHorizontalAngle ()

沿水平方向对齐的两点之间的圆返回最小圆弧。 当起点和终点接近水平时,计算得出的圆的中心点将远离两点,从而得到点之间的近直线路径。 通过设置最小角度,这会迫使中心点更近,并给路径赋予夸张的曲线。

默认值是0。

相关XML属性:

Returns
float The minimum arc along the circle between two points aligned near horizontally.

getMinimumVerticalAngle

Added in API level 21
float getMinimumVerticalAngle ()

沿垂直方向对齐的两个点之间的圆返回最小圆弧。 当起点和终点接近垂直时,计算出的圆的中心点将远离这两个点,从而给出点之间的近直线路径。 通过设置最小角度,这会迫使中心点更近,并给路径赋予夸张的曲线。

默认值是0。

相关XML属性:

Returns
float The minimum angle of the arc on a circle describing the Path between two nearly vertically-separated points.

getPath

Added in API level 21
Path getPath (float startX, 
                float startY, 
                float endX, 
                float endY)

提供一个在两点之间插入的路径(startX, startY)(endX, endY) 这允许沿着两个维度进行受控弯曲运动。

Parameters
startX float: The x coordinate of the starting point.
startY float: The y coordinate of the starting point.
endX float: The x coordinate of the ending point.
endY float: The y coordinate of the ending point.
Returns
Path A Path along which the points should be interpolated. The returned Path must start at point (startX, startY), typically using moveTo(float, float) and end at (endX, endY).

setMaximumAngle

Added in API level 21
void setMaximumAngle (float angleInDegrees)

设置沿两个点之间的圆的最大弧。 当起点和终点接近x和y的差值时,它们之间的曲线很大。 这迫使弯曲路径具有至多给定角度的弧。

默认值是70度。

相关XML属性:

Parameters
angleInDegrees float: The maximum angle of the arc on a circle describing the Path between the start and end points.

setMinimumHorizontalAngle

Added in API level 21
void setMinimumHorizontalAngle (float angleInDegrees)

沿水平方向对齐的两个点之间的圆圈设置最小圆弧。 当起点和终点接近水平时,计算得出的圆的中心点将远离两点,从而得到点之间的近直线路径。 通过设置最小角度,这会迫使中心点更近,并给路径赋予夸张的曲线。

默认值是0。

相关XML属性:

Parameters
angleInDegrees float: The minimum angle of the arc on a circle describing the Path between two nearly horizontally-separated points.

setMinimumVerticalAngle

Added in API level 21
void setMinimumVerticalAngle (float angleInDegrees)

沿垂直方向对齐的两个点之间的圆圈设置最小圆弧。 当起点和终点接近垂直时,计算出的圆的中心点将远离这两个点,从而给出点之间的近直线路径。 通过设置最小角度,这会迫使中心点更近,并给路径赋予夸张的曲线。

默认值是0。

相关XML属性:

Parameters
angleInDegrees float: The minimum angle of the arc on a circle describing the Path between two nearly vertically-separated points.

Hooray!