【问题标题】:blackberry 10 cascades Activity Indicator for listview列表视图的黑莓 10 级联活动指示器
【发布时间】:2013-09-19 10:54:30
【问题描述】:

我在 bb 10 App 中有一个列表视图,我需要在其中显示从服务器读取的数据。我能够做到这一点。但这里的问题是,从服务器读取数据并将其显示在列表视图中需要一些延迟。现在我想在活动指示器中以全文“请稍候...”通知用户,直到显示数据并在列表视图中显示数据时立即消失活动指示器。

Container {
        objectName: "root"
        id: root

        ActivityIndicator {
            id: myIndicator
            preferredWidth: 500
        }
        Button {
            text: "Start"
            onClicked: {
                if (! myIndicator.running) {
                    // Start the activity here.
                    myIndicator.start();
                    text = "Stop";
                } else {
                    // Stop it here
                    root.activityDone();
                    text = "Start"
                }
            }
        }
        // This function is called when the activity is done.
        function activityDone() {
            myIndicator.stop();
        }
    }

我发现了一个像这样的小例子......我如何显示“请稍候”之类的测试并使其在数据显示在列表视图中时消失。

谢谢!!!

【问题讨论】:

  • 点击显示,onDataLoaded 隐藏(或 onError)
  • 您能否详细说明,我在 ListView 中没有找到任何 Qml 信号“onDataLoaded”

标签: qml blackberry-10 blackberry-cascades


【解决方案1】:

您可以制作带有文本“请稍候”的标签,并通过更改标签的不透明度使其出现/消失。

继承的浮动不透明度

可视节点的不透明度。一个介于 0.0(透明)和 1.0(不透明)之间的值。这是视觉节点的局部不透明度,即不考虑祖先不透明度。默认不透明度为 1.0(不透明)。

详情请见cascades label

【讨论】:

  • ya label 想法很棒!但是一旦数据显示在列表视图中,如何使“活动指示器”消失。
  • 您是否在 QML 中使用 XMLHttpRequest 对象进行服务器调用?如果是这样,您可以使用this 代码。只需在request.send() 之前添加myIndicator.start(); myLabel.opacity =1.0myIndicator.stop(); myLabel.opacity = 0.0 内部(request.readyState === XMLHttpRequest.DONE) if statement
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多