如何在 ListView 及其页脚之间添加一些填充?

Nat*_*man 5 application-development qml

考虑以下 QML 片段:

ListView {
    //...

    footer: Text {
        text: "Sample Text"
    }
}
Run Code Online (Sandbox Code Playgroud)

这将直接在 ListView 的底部显示文本“Sample Text”。但是,列表中的最后一项与文本之间没有空格。

如何添加一些间距/填充?我已经尝试过设置anchors.topanchors.topMargin但所做的只是给了我“在垂直锚点上检测到可能的锚点循环”警告。似乎没有任何效果。

Syl*_*eau 2

我正在使用ContactModel.qmlSDK示例中提供的内容。

要在页脚和最后一个列表元素之间添加一些间距,您可以为页脚创建一个专用组件,并按照您想要的方式修改其中的布局:

import QtQuick 2.0
import Ubuntu.Components 0.1

Item {
    width: 200
    height: 350

    ListView {
        width: 180; height: 200
        model: ContactModel {}
        delegate: Text {
            text: name + ": " + number
        }

        Component {
            id: myfooter
            Item {
                width: parent.width
                height: units.gu(3)
                Text {
                    anchors.bottom: parent.bottom
                    text: "Sample Text"
                }
            }
        }

        footer: myfooter
    }
}
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述


Nat*_*man 2

我最终做的是创建一个并在我想要出现在页脚的内容之前Column插入一个:Rectangle

Rectangle {
    color: "transparent"
    width: parent.width
    height: units.gu(3)
}
Run Code Online (Sandbox Code Playgroud)