黑莓qml级联中的启动画面,时间为2秒

时间:2013-10-04 13:02:17

标签: blackberry-10

好吧,从android转向黑莓级联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();
}

提前致谢。

3 个答案:

答案 0 :(得分:2)

bar-descriptor.xml

可以选择启动

打开bar-descriptor.xml&gt;&gt;选择标签"Application"

You can see Splash Screens: box at right side. Select your splash screen.

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

在页面&amp;中将应用的启动画面作为imageview使用Timer。 在计时器超时时按下新页面。

以下是Timer的示例代码。

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");

答案 1 :(得分:1)

截至我的回答时,Momentics的版本为2.0。在此版本的Momentics中,不需要为启动屏幕使用QML。

要在应用中添加启动画面,请打开bar-descriptor.xml文件。在右侧,在图标规格下方,选择要用作闪屏图像的图像。

就是这样。

重建并运行并享受

答案 2 :(得分: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()作为容器或imageview,而不是PageNavigationPane来启动启动画面的计时器。