【问题标题】:Hold splashscreen with launch-screen使用启动屏幕保持启动画面
【发布时间】:2015-07-07 14:36:47
【问题描述】:

我已经尝试了所有方法,但我无法让https://atmospherejs.com/meteor/launch-screen 工作。

我想用var handle = LaunchScreen.hold(); 保持Android 的启动画面,但它似乎根本不会影响我的应用程序。

我试图把它放在我的应用程序的不同文件夹中(根、客户端根...),用 Meteor.startup 包装它,使用多个句柄,把它放在我的铁路由器中...没有机会还没有。

然后我开始使用 mobile-config,因为我怀疑 config.xml 是我的问题的根源。我尝试将“AutoHideSplashScreen”更改为 true(嗯,你永远不知道...),以更改延迟...它也不起作用。

最后,我尝试完全删除“启动屏幕”包,但即使它没有与“流星列表”一起出现,当我检查我的 Android 应用程序时它仍然存在。也许它需要被覆盖......

无论如何,我真的需要你的帮助,非常感谢!

编辑:我的代码示例

在 /both/routes.js 中

Router.configure({
    layoutTemplate : 'mainLayout',
    loadingTemplate: 'launchScreen',
    // Transitions
    // TODO : Use CSS or transition.js ? Slide or fade ?
    onBeforeAction : function(){
        $('.container').css({opacity: 0});
        this.next();
    },
    onAfterAction : function(){
        $('.container').transition({ opacity: 1 });
    }
});

// Routes
Router.map(function() {
    this.route('home', {path: '/'});
    this.route('news', {path: '/news'});
});

如果我尝试输入:

var handle = LaunchScreen.hold();

位于 /client/* 中的文件中的任何位置,它都不执行任何操作。

目前在我的移动配置中没有什么特别的,我删除了我尝试过的所有内容...

// Allow XMLHttpRequest
App.accessRule("*");

【问题讨论】:

  • 请发表您的作品。
  • 我发布了我的工作样本,但我不知道它是否真的相关......现在我想起来了,问题可能是因为我在 routes.js 上的 onBefore 和 onAfter 吗?它会阻止包正常工作吗?

标签: javascript android cordova meteor


【解决方案1】:

您必须将var handle = LaunchScreen.hold(); 放在客户端代码的“开头”,以便在其他所有内容之前加载它。

为此,您可以将其放入位于 yourApp/client/lib/ 文件夹中的文件中(在所有其他文件夹之前加载)并使用下划线命名文件,因为文件按字母顺序加载命令。

【讨论】:

  • 还是不行,我把它放在yourApp/client/lib/_init.js中,闪屏还是按照config.xml文件淡化。
【解决方案2】:

好的,我现在似乎想出了一个技巧。 我添加了 App.setPreference("SplashScreenDelay", 90000);在我的 mobile-config.js 中,因为我注意到即使启动画面处于暂停状态,如果延迟结束,它也会消失。

这很hacky,但我现在会处理它。 :/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多