0

ActivityIndicatorリスト データの読み込み中にを表示しようとしています。ここに私のページQMLがあります:


Page {
    signal articleClicked(variant article)

    id: root

    titleBar: TitleBar {
        title: qsTr("All feeds")
        visibility: ChromeVisibility.Visible
    } // titleBar

    Container {
        layout: DockLayout {}
        ListView {
            dataModel: _feedModel
            listItemComponents: [
                ListItemComponent {
                    type: "item"

                    FeedListComponent {
                        feed: ListItemData
                    }
                }
            ]
            visible: !_manager.working

            onTriggered: {
                if (indexPath.length > 1) {
                    root.articleClicked(dataModel.data(indexPath));
                }
            }
        } // ListView

        ActivityIndicator {
            verticalAlignment: VerticalAlignment.Fill
            horizontalAlignment: HorizontalAlignment.Fill
            running: _manager.working
        }
    } // Root container
} // Page

ActivityIndicator中央揃えで表示するには、 DockLayout. それはうまくいっています。しかし、 に切り替え_manager.workingfalse表示するとListView、スクロールできません。画面サイズに限らず、すべての項目が表示されるので、スクロールする必要はないと思います。しかし、そうではありません。変更せずにverticalAlignment: VerticalAlignment.Fillとを追加しようとしhorizontalAlignment: HorizontalAlignment.Fillました。ListView強制的ListViewに画面に収まるようにする方法についてのヒントはありますか? ありがとう。

4

1 に答える 1

2

問題は、リストビューがスクロールしないことではなく、ActivityIndi​​cator がリストビューの上にあり、タッチ イベントがその下のリストビューに伝播するのを妨げていることです。追加してみる

可視: _manager.working

ActivityIndi​​cator へ

これで、リストビューが表示されているときに、タッチ イベントがリストビューに渡されます。

于 2013-04-26T22:53:32.223 に答える