[SailfishDevel] SilicaFlickable, Column, SilicaListView
Andrey Kozhevnikov
coderusinbox at gmail.com
Sun May 24 17:31:51 UTC 2015
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 Віталій Коренєв <nemish94 at gmail.com
> <mailto:nemish94 at 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-unsubscribe at lists.sailfishos.org
> <mailto:devel-unsubscribe at lists.sailfishos.org>
>
>
>
>
> _______________________________________________
> SailfishOS.org Devel mailing list
> To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20150524/30c82b23/attachment.html>
More information about the Devel
mailing list