Do not forget to set proper pressDelay values for flickable and listview, if you still want to put listview inside flickable.

24.05.2015 22:28, Dmitriy Purgin пишет:
Привiт, Вiталiй!

If want to have something like a toolbar at the bottom of the list, I'd go with DockedPanel [1]. I guess it's the preferred way of doing it. But you can also do this by setting list view height explicitly if you do it in column or anchoring. Consider the following code, it lays out a header and a button at top and bottom of page respectively, and a list view in the middle:

Page {
    id: page

    SilicaFlickable {
        anchors.fill: parent

        // test pull down menu
PullDownMenu {
            MenuItem {
                text: 'Item 1'
            }
        }

        // test push up menu
PushUpMenu {
            MenuItem {
                text: 'Item 2'
            }
        }

        // set this explicitly, otherwise you will have
        // weird problems with push and pull menus
contentHeight: column.height

        Column {
            id: column

            anchors.fill: parent

            PageHeader {
                id: header

                anchors.left: parent.left
                anchors.right: parent.right

                title: 'Header'
            }

            SilicaListView {
                id: listView

// fill all the space between header and button
height: page.height - header.height - button.height

                anchors.left: parent.left
                anchors.right: parent.right

                // this is needed so that the list elements
                // do not overlap with other controls in column
                clip: true

                model: 20

                delegate: ListItem {
                    anchors.left: parent.left
                    anchors.right: parent.right

                    Label {
                        width: parent.width
                        height: parent.height

                        text: model.modelData
                    }
                }
            }

            Button {
                id: button

                anchors.horizontalCenter: parent.horizontalCenter

                text: 'Button'
            }
        }
    }
}

If you'd do this using anchoring, you should set contentHeight to sum of all the elements included to flickable.

Please note that if you would set a view that wouldn't fit to screen (by setting listView.height to something larger than the expression in the sample code), you would have to either scroll the list all the way up or down for the menus or begin dragging outside the list.

Cheers
Dmitriy

[1] https://sailfishos.org/develop/docs/silica/qml-sailfishsilica-dockedpanel.html/


2015-05-23 22:57 GMT+06:00 Віталій Коренєв <nemis...@gmail.com <mailto:nemis...@gmail.com>>:

    I'm just starting to learn qml, and there are many questions.
    I have
    XmlListModel {
    id: listModel
    query: "/ colors / color"
    XmlRole {name: "id"; query: "id / string ()"}
    XmlRole {name: "title"; query: "title / string ()"}
    ...
    }

    SilicaFlickable {
    anchors.fill: parent

    Column
    {
    width: parent.width; height: parent.height
    id: mainContainer

    SilicaListView
    {
    width: parent.width; height: parent.height
    id: list
    model: listModel
    delegate: BackgroundItem {
    width: parent.width; height: 120
    Image {
    source: imageUrl
    anchors.fill: parent
    }
    Label {text: title}
    }
    VerticalScrollDecorator {}
    }
    }
    }

    How can I add other elements (buttons, labels ...) after all
    elements of SilicaListView, if its height: parent.height. If you
    remove line height: parent.height for SilicaListView, it is not
    displayed. There have been attempts to add other elements before
    VerticalScrollDecorator {} and other places (experimenting with
    anchors), but the added elements were in the upper left corner of
    the screen or on the last 10 points of the screen (under
    SilicaListView).

    Sorry for my English.
    PS. This is the only way to get or give help when working with qml
    + Silica? No forum for developers Sailfish?

    _______________________________________________
    SailfishOS.org Devel mailing list
    To unsubscribe, please send a mail to
    devel-unsubscr...@lists.sailfishos.org
    <mailto:devel-unsubscr...@lists.sailfishos.org>




_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org

_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org

Reply via email to