41 The resulting layouts look like this, depending on the width of the window.
42
43 \div {class="float-right"}
44 \inlineimage simpleProxy.png
45 \enddiv
46
47 Various levels of layouts and items can be nested but \l {Item}{Items} can only be moved within a their \l{Item::parent}{Item.parent}.
48
49 \section2 States
50
51 The same result can be achieved with \l {Qt Quick States}. The upside of
52 using states is that the \l {Layout} properties for a specific layout are
53 collected at a single point in the QML file (at least the changing ones).
54 The previously shown example can be implemented as follows and the result
55 looks and behaves the exact same.
56
57 \snippet layouts/responsiveStates.qml document
58
59 \section2 LayoutItemProxy
60
61 A third approach is the application of the \l {LayoutItemProxy}. The
62 implementation of the previously shown minimalistic example can be found in
63 the type documentation. In contrast to previously shown solutions, the
64 \l {LayoutItemProxy} enables the declaration of completely separate layouts
65 for various form factors. Especially with more complex layouts this might be
66 useful to improve and maintain a reasonable source code structure.
67
68 Note, that the \l{LayoutItemProxy} API is a technical preview and might
69 be subject to change or removal in future Qt versions.
70
71 \section1 Adaptive hierarchy, adaptive layout
72
73 More complex reconstructions of the layout might require changes to
74 the hierarchy. A small stand-alone button in a small layout might be
75 combined with other buttons and put into a box of a larger layout. An item
76 that is fully visible in one layout, might require a \l {Flickable} in
77 another, smaller layout. In this scenario, it is best to rely on the \l {LayoutItemProxy}. The \l {LayoutItemProxy} allows to move \l{Item}{Items} across various hierarchy levels and between different \l{Item::parent}{Item.parent}.
78
79 The \l {Qt Quick Layouts - Responsive Layout Example} shows a case where an
80 item is moved between different hierarchy levels, put into a \l {Flickable}
81 in one case and on the top level in another layout. The two resulting