
TranslateAnimation(30.0f, -80.0f, 30.0f, 300.0f);可以构建一个位置移动的动画效果,以上设置的动画结果是( ) A. 从坐标(30.0f, -80.0f)移动到坐标(30.0f, 300.0f) B. 从坐标(30.0f, 30.0f)移动到坐标(-80.0f, 300.0f) C. 从坐标(30.0f,300.0f)移动到坐标(30.0f, -80.0f) D. 从坐标(-80.0f, 300.0f)移动到坐标(30.0f, 30.0f)
答案:A. 从坐标(30.0f, -80.0f)移动到坐标(30.0f, 300.0f)
在Android开发中,TranslateAnimation的构造函数参数顺序严格遵循起始X轴偏移量、结束X轴偏移量、起始Y轴偏移量、结束Y轴偏移量的规则。具体到题目中的代码TranslateAnimation(30.0f, -80.0f, 30.0f, 300.0f),四个参数分别对应:
fromXDelta = 30.0f(起始X坐标)
toXDelta = -80.0f(结束X坐标)
fromYDelta = 30.0f(起始Y坐标)
toYDelta = 300.0f(结束Y坐标)
因此,动画将从(30.0f, 30.0f)移动到(-80.0f, 300.0f)。这里需要注意,参数单位默认为像素(px),且动画仅改变View的视觉位置,不会影响其实际布局属性(如点击区域仍在原位置)。
其他选项的错误在于混淆了参数顺序:
B、D选项颠倒了起始/结束坐标的对应关系;
C选项错误地将Y轴方向反转。
理解参数顺序是掌握TranslateAnimation的核心,建议结合文档中的代码示例进一步验证,例如<document id="2">中展示的new TranslateAnimation(0, 500, 0, 0)即表示从X=0移动到X=500,Y轴不变。