我刚刚开始使用Mono for Android,并且无法在我的设备上使用过渡动画。它在Android模拟器中运行良好。
该设备是HTC Sensation,启用了所有动画。
我的动画XML文件是:
slide_in_right.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%p" android:toXDelta="0%p" android:duration="200" android:startOffset="0" />
</set>
slide_out_left.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0" android:toXDelta="-100%p" android:duration="200" />
<alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="200" android:startOffset="0" />
</set>
这里调用动画:
Intent intent = new Intent(this, typeof(Activity2));
StartActivity(intent);
OverridePendingTransition(Resource.Animation.slide_in_right, Resource.Animation.slide_out_left);
在模拟器中,当新视图从右侧滑入时,这会导致第一个视图向左滑动。
当我上传到设备并运行它时,没有滑动,第一个视图淡出,第二个视图弹出它的位置。
我尝试注释掉OverridePendingTransition行以查看淡入淡出转换是否正常工作而滑动转换是否正常,但没有区别。所以看来问题出在OverridePendingTransition而不是动画的任何部分。
我没有任何其他Android设备可以测试它,所以不知道这是否是特定的HTC问题。
在设备设置中打开所有动画; Facebook和其他应用程序在视图之间滑动似乎没有问题。
非常感谢任何帮助。
布赖恩。
答案 0 :(得分:4)
我设法解决了这个问题。如果其他人遇到同样的问题,解决方案是将对bigScreen和anyDensity的支持添加到清单文件中:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true">
</supports-screens>
所有动画现在都可以正常使用。
答案 1 :(得分:3)
似乎我们所有的麻烦都是由设置/显示中的选项引起的。即默认情况下关闭窗口动画。