[SailfishDevel] SilicaFlickable, Column, SilicaListView
Dmitriy Purgin
dpurgin at gmail.com
Sun May 24 17:45:03 UTC 2015
Hi Andrey,
can you please provide a case or a non-synthetic example? I've never met a
pressDelay yet and never used it myself, read about it in the docs just
now. I think it can be used in a very complex interface but can't think of
an example right now. But, as you know, I'm not much of a GUI builder,
doing backend stuff mostly.
Cheers
2015-05-24 23:31 GMT+06:00 Andrey Kozhevnikov <coderusinbox at gmail.com>:
> 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>:
>
>> 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>
>> devel-unsubscribe at lists.sailfishos.org
>>
>
>
>
> _______________________________________________
> SailfishOS.org Devel mailing list
> To unsubscribe, please send a mail to 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/38163ccd/attachment-0001.html>
More information about the Devel
mailing list