【问题标题】:Appcelerator Titanium: Open activity without animationAppcelerator Titanium:没有动画的开放活动
【发布时间】:2014-09-27 14:20:18
【问题描述】:

在钛合金中,我试图打开一个控制器,它是一个没有动画的窗口。

我所做的是在/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>

但是当应用程序启动时,在启动画面之后我仍然可以看到活动动画。我期望的是活动(窗口)刚刚出现。

我在这里错过了什么?

【问题讨论】:

    标签: android titanium titanium-mobile appcelerator titanium-alloy


    【解决方案1】:

    由于某些奇怪的原因,您无法覆盖 Titanium 中的所有动画。

    我已经问过这个问题over here 没有成功。

    我已尝试修补 ti 移动源代码并进行自定义构建。据我所知,禁用开场动画。关闭动画仍在某些设备上播放。

    【讨论】:

      【解决方案2】:

      我通过从 SDK 代码向后工作发现了这一点,但是当调用 Ti.UI.Window.open() 以实际打开窗口时,将动画属性设置为 false:

      win = Ti.UI.createWindow(/* ... */);
      win.open({ animated: false });
      

      我不熟悉合金,但这应该很容易翻译成合金。

      这至少在 SDK 5.0.2 中有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-13
        • 2017-09-02
        • 2014-07-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多