好吧,从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();
}
提前致谢。
答案 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,而不是Page
或NavigationPane
来启动启动画面的计时器。