用于在ScaleAnimation中指定pivotXType和pivotYType的XML属性

这可能听起来很愚蠢,但我找不到任何地方如何指定ScaleTAnimation的pivotXType和pivotYType。

我知道如何以编程方式做到这一点,但我需要通过XML(我需要它在活动之间转换,使用overridePendingTransition方法)

这是可用的代码:

Animation animation=new ScaleAnimation(1,0,1,0,ScaleAnimation.RELATIVE_TO_SELF,(float)0.5,ScaleAnimation.RELATIVE_TO_SELF,(float)0.5); animation.setDuration(1000); 

这里是XML,没有XML属性我正在寻找

 <?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:fromXScale="1" android:toXScale="0" android:fromYScale="1" android:toYScale="0" android:pivotX="0.5" android:pivotY="0.5" android:duration="2000" /> 

我检查了http://developers.androidcn.com/reference/android/view/animation/ScaleAnimation.html文档,但没有find任何答案。 谢谢。

Solutions Collecting From Web of "用于在ScaleAnimation中指定pivotXType和pivotYType的XML属性"

希望没有人甚至懒得读我的问题。 我在编写xml时犯了一个错误,这是我想要的效果的正确代码(将新的活动从100%大小缩放到0%大小,正好在屏幕中间)。 pivotX和pivotY的正确值是50%而不是0.5。

 <?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:fromXScale="1" android:toXScale="0" android:fromYScale="1" android:toYScale="0" android:pivotX="50%" android:pivotY="50%" android:duration="600" /> 

我知道答案已经发布,但我想我会写几个解释的话。 xml中的枢轴可以设置为三种types的值(例如使用值50 ):

  • 50% – 百分比; 对应于透视的typesAnimation.RELATIVE_TO_SELF50%基本上意味着它将在视图中间枢轴转动。

  • 50%p – 父母百分比; 对应于透视Animation.RELATIVE_TO_PARENT的types。 50%p意味着它将在父视图中间转动。

  • 50 – 绝对; 对应于透视Animation.ABSOLUTE的types。 50表示从顶部/左侧50像素的旋转(取决于pivot-y / x的types)