Fixed List Container

From Official Kodi Wiki
Revision as of 00:52, 14 April 2022 by Gade (talk | contribs) (→‎Available tags)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The Fixed List Container is one of several containers used to display items from file lists in a certain way. It is identical to the List Container with one exception: the focus area has a fixed position, while the list appears to move beneath it in response to directional input. Thus, moving up or down scrolls the items, not the focused position. As with all container controls, the layout of the items within the control is very flexible.

    <control type="fixedlist" id="50">
          <description>My first fixed list container</description>
          <left>80</left>
          <top>60</top>
          <width>250</width>
          <height>200</height>
          <visible>true</visible>
          <onup>2</onup>
          <ondown>3</ondown>
          <onleft>1</onleft>
          <onright>1</onright>
          <viewtype label="3D list">list</viewtype>
          <orientation>vertical</orientation>
          <pagecontrol>25</pagecontrol>
          <scrolltime tween="sine" easing="out">200</scrolltime>
          <autoscroll>true</autoscroll>
          <focusposition>4</focusposition>
          <movement>6</movement>
          <itemlayout width="650" height="29">
                    <control type="image">
                            <left>5</left>
                            <top>3</top>
                            <width>22</width>
                            <height>22</height>
                            <texture>$INFO[ListItem.Icon]</texture>
                    </control>
                    <control type="label">
                            <left>30</left>
                            <top>3</top>
                            <width>430</width>
                            <height>22</height>
                            <font>font13</font>
                            <aligny>center</aligny>
                            <selectedcolor>green</selectedcolor>
                            <align>left</align>
                            <label>$INFO[ListItem.Label]</label>
                    </control>
                    <control type="label">
                            <left>475</left>
                            <top>3</top>
                            <width>300</width>
                            <height>22</height>
                            <font>font13</font>
                            <aligny>center</aligny>
                            <selectedcolor>green</selectedcolor>
                            <textcolor>grey</textcolor>
                            <align>right</align>
                            <label>$INFO[ListItem.Label2]</label>
                    </control>
          </itemlayout>
          <focusedlayout height="29" width="650">
                    <control type="image">
                            <width>485</width>
                            <height>29</height>
                            <left>0</left>
                            <top>0</top>
                            <visible>Control.HasFocus(50)</visible>
                            <texture>list-focus.png</texture>
                    </control>
                    <control type="image">
                            <left>5</left>
                            <top>3</top>
                            <width>22</width>
                            <height>22</height>
                            <texture>$INFO[ListItem.Icon]</texture>
                    </control>
                    <control type="label">
                            <left>30</left>
                            <top>3</top>
                            <width>430</width>
                            <height>22</height>
                            <font>font13</font>
                            <aligny>center</aligny>
                            <selectedcolor>green</selectedcolor>
                            <align>left</align>
                            <label>$INFO[ListItem.Label]</label>
                    </control>
                    <control type="label">
                            <left>475</left>
                            <top>3</top>
                            <width>300</width>
                            <height>22</height>
                            <font>font13</font>
                            <aligny>center</aligny>
                            <selectedcolor>green</selectedcolor>
                            <textcolor>grey</textcolor>
                            <align>right</align>
                            <label>$INFO[ListItem.Label2]</label>
                    </control>
          </focusedlayout>
    </control>

Available tags

In addition to the default control tags the following tags are available. Note that each tag is lower case only. This is important as this file is written in XML, a language where tag names are case-sensitive.

Tag Description
viewtype The type of view, valid values are: list, icon, wide, wrap, biglist, bigicon, bigwide, bigwrap, info and biginfo. The label attribute indicates the label that will be used in the "View As" control within the GUI. It is localizable via strings.po. viewtype has no effect on the view itself. It is used by Kodi when switching skins to automatically select a view with a similar layout. Skinners should try to set viewtype to describe the layout as best as possible.
orientation The orientation of the list, defaults to vertical.
pagecontrol Used to set the <id> of the page control used to control this list.
scrolltime The time (in milliseconds) to scroll from one item to another, defaults to 200ms. The list will scroll smoothly from one item to another as needed, or setting it to zero to disables the smooth scrolling effect. The scroll movement can be further adjusted by selecting one of the available tween methods.
focusposition Specifies the focus position (from 0 -> number of displayable items - 1). The focused position doesn't change—instead, the items move up or down (or left and right) through the focus area.
movement This will make the focused position scroll again at the end of the list. (ie. <movement>6</movement> if there are only 6 items below the focus, the focus moves down to the bottom)
itemlayout Specifies the layout of items in the list and requires the height attribute to be set in a vertical list, or the width attribute set for a horizontal one. The <itemlayout> then contains as many label and image controls as required.
See: Container Item Layout
focusedlayout Specifies the layout of items in the list that have focus and requires the height attribute to be set in a vertical list, or the width attribute set for a horizontal one. The <focusedlayout> then contains as many label and image controls as required.
See: Container Item Layout
content Used to set the item content that this list will contain, allowing the skinner to setup a list anywhere they want with a static set of content, as a useful alternative to the grouplist control.
See: Static List Content
preloaditems Used in association with the Background Image Loader.
autoscroll Used to make the container scroll automatically

See also

Development: