在钛合金中,我试图打开一个没有动画的Window控制器。
我所做的是在/platform/android/res/values/activity_no_animation.xml
中定义一种新风格:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.NoAnimation" parent="android:Theme">
<item name="android:windowAnimationStyle">@null</item>
</style>
</resources>
我的控制器文件名是login.js,所以在我的tiapp.xml中我已经定义了这样的活动(如下所述:http://docs.appcelerator.com/titanium/latest/#!/guide/tiapp.xml_and_timodule.xml_Reference-section-29004921_tiapp.xmlandtimodule.xmlReference-activities)
<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest>
<application android:theme="@style/Theme.NoActionBar">
<activity url="login.js" android:theme="@style/Theme.NoAnimation" />
</application>
<!-- Need to specify at least API level 11 for Titanium SDK 3.2.x and prior -->
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19"/>
</manifest>
</android>
但是当应用程序启动时,在启动画面之后我仍然会看到活动动画。我期望的是活动(窗口)只是出现。
我在这里错过了什么?
答案 0 :(得分:1)
由于某些奇怪的原因,您无法覆盖Titanium中的所有动画。
我已经问过这个问题over here没有成功。
我已尝试修补移动源代码并进行自定义构建。据我所知,是禁用开场动画。关闭动画仍在某些设备上播放。
答案 1 :(得分:0)
我通过从SDK代码向后工作找到了这个,但是当调用Ti.UI.Window.open()来实际打开窗口时,将动画属性设置为false:
win = Ti.UI.createWindow(/* ... */);
win.open({ animated: false });
我不熟悉Alloy,但这应该很容易转化为Alloy。
至少在SDK 5.0.2中有效。