0

好吧,从 android 转移到 blackberry 级联 qml 编码。

我想在 qml 中手动添加启动画面,时间限制为 2-3 秒。

我怎么能做到这一点,因为在 qml 中没有与时间相关的选项。

在通过网络和开发者论坛搜索时,没有任何关于这种情况的透露。

帮助!帮助!帮助!

这是我的 main.qml

import bb.cascades 1.0
import bb.myTimer 1.0 //error unknown library bb.myTimer


Page  
{
Container {
    layout: DockLayout {
    }
    onCreationCompleted: {
        myTimer.start();
    }

    ImageView {
        id: mImageViewIcon
        horizontalAlignment: HorizontalAlignment.Fill
        verticalAlignment: VerticalAlignment.Fill
        imageSource: "asset:///splash1.png"
    }

    attachedObjects: [
        QTimer {        //error : The QTimer component might be an unknown or custom       component. Its properties are not validated.
            id: myTimer
            interval: 3000
            onTimeout: {
                //Push New Page here

              mysheet1.open();


            }
        },

        Sheet 
        {
           id: mysheet1
           peekEnabled: false
           Page 
           {
              Container 
               {
                   background: Color.Transparent


                    ImageView 
                    {
                        horizontalAlignment: HorizontalAlignment.Fill
                        verticalAlignment: VerticalAlignment.Fill
                        imageSource: "asset:///splash2.png"
                    }


             }
        }
      }     
    ]
  }
}

我的 main.cpp

#include <bb/cascades/Application>

#include <QLocale>
#include <QTranslator>

**#include <Qtimer>**

#include "applicationui.hpp"

#include <Qt/qdeclarativedebug.h>

using namespace bb::cascades;

Q_DECL_EXPORT int main(int argc, char **argv)
{
Application app(argc, argv);

**qmlRegisterType<QTimer>("my.timer", 1, 0, "QTimer");**

// Create the Application UI object, this is where the main.qml file
// is loaded and the application scene is set.
new ApplicationUI(&app);

// Enter the application main event loop.
return Application::exec();
}

提前致谢。

4

3 回答 3

2

有溅入的选项bar-descriptor.xml

打开bar-descriptor.xml>> 选择选项卡"Application"

Splash Screens:您可以在右侧看到框。选择您的启动画面。

如果您想手动操作,请按照以下代码操作。

在页面中应用启动画面作为图像视图并使用计时器。定时器超时时推送新页面。

这是定时器的示例代码。

import bb.cascades 1.0
import my.timer 1.0
Page {
    Container {
        layout: DockLayout {
        }
        onCreationCompleted: {
            mTimer.start();
        }
        ImageView {
            id: mImageViewIcon
            horizontalAlignment: HorizontalAlignment.Fill
            verticalAlignment: VerticalAlignment.Fill
            imageSource: "asset:///images/splash.png"
        }
        attachedObjects: [
            QTimer {
                id: mTimer
                interval: 2000
                onTimeout: {
                    //Push New Page here
                }
            }
        ]
    }
}

不要忘记在 main.cpp 中添加以下行

qmlRegisterType<QTimer>("my.timer", 1, 0, "QTimer");
于 2013-10-05T07:05:57.967 回答
1

在我回答时,Momentics 的版本是 2.0。在这个版本的 Momentics 中,启动屏幕不需要 QML。

要将启动画面添加到您的应用程序,请打开该bar-descriptor.xml文件。在右侧,在图标规范下方,选择要用作启动画面图像的图像。

就这些。

重建并运行并享受

于 2014-01-08T05:40:36.650 回答
0

尝试使用动画TranslateTransition并将持续时间设置为等待秒。

代码:

attachedObjects: [
TranslateTransition {
    id: splashScreen
    duration: 2000 //wait in milliseconds
    onEnded: {
        //here the code to close splash screen        
    }
}]

splashScreen.play(); //add this in onCreationComplete()在对象上用作容器或图像视图,而不是PageNavigationPane启动启动画面的计时器。

于 2014-05-10T18:51:47.343 回答