在 BlackBerry 10 上覆盖 ActivityIndicator 的正确方法是什么?
What is the correct way to overlay an ActivityIndicator on BlackBerry 10?
在我的 BB10 应用程序中,我希望在当前屏幕的中央覆盖一个 ActivityIndicator
以指示何时发生某些事情(例如 "loading")。
我目前的解决方案是在自定义透明对话框的中心嵌入这样一个指示器,如下:
import bb.cascades 1.4
Dialog {
id: activityDialog
objectName: "activityDialog"
content: Container {
id: activityDialogContainer
horizontalAlignment: HorizontalAlignment.Center
verticalAlignment: VerticalAlignment.Center
// fully transparent background!
background: Color.create(0, 0, 0, 0)
layout: StackLayout {
}
ActivityIndicator {
id: theIndicator
preferredWidth: 500
preferredHeight: 500
}
Label {
id: activityLabel;
objectName: "activityLabel";
text: ""
horizontalAlignment: HorizontalAlignment.Center
verticalAlignment: VerticalAlignment.Center
}
}
onOpened: {
theIndicator.start();
}
onClosed: {
theIndicator.stop();
}
}
当我想显示指标时,我可以简单地打开对话框。
问题是对话框会阻止与底层 Page
/NavigationPane
控件的任何交互。我明白为什么。该对话框占据了整个屏幕,尽管透明仍然基本上隐藏了底层窗格的任何 UI。
如何在屏幕中央叠加 ActivityIndicator
而不妨碍与底层面板控件的交互?
我现在意识到我只需要围绕我的主 Container
和 ActivityIndicator
创建一个 DockLayout
。
在我的 BB10 应用程序中,我希望在当前屏幕的中央覆盖一个 ActivityIndicator
以指示何时发生某些事情(例如 "loading")。
我目前的解决方案是在自定义透明对话框的中心嵌入这样一个指示器,如下:
import bb.cascades 1.4
Dialog {
id: activityDialog
objectName: "activityDialog"
content: Container {
id: activityDialogContainer
horizontalAlignment: HorizontalAlignment.Center
verticalAlignment: VerticalAlignment.Center
// fully transparent background!
background: Color.create(0, 0, 0, 0)
layout: StackLayout {
}
ActivityIndicator {
id: theIndicator
preferredWidth: 500
preferredHeight: 500
}
Label {
id: activityLabel;
objectName: "activityLabel";
text: ""
horizontalAlignment: HorizontalAlignment.Center
verticalAlignment: VerticalAlignment.Center
}
}
onOpened: {
theIndicator.start();
}
onClosed: {
theIndicator.stop();
}
}
当我想显示指标时,我可以简单地打开对话框。
问题是对话框会阻止与底层 Page
/NavigationPane
控件的任何交互。我明白为什么。该对话框占据了整个屏幕,尽管透明仍然基本上隐藏了底层窗格的任何 UI。
如何在屏幕中央叠加 ActivityIndicator
而不妨碍与底层面板控件的交互?
我现在意识到我只需要围绕我的主 Container
和 ActivityIndicator
创建一个 DockLayout
。