Archive:List Control: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
(remove stone age article)
Line 1: Line 1:
The list control is used for creating item lists in {{kodi}}. You can choose the position, size, and look of the list.
=== Example ===
<syntaxhighlight lang="xml" enclose="div">
<control>
      <description>My first list control</description>
      <type>listcontrol</type>
      <id>1</id>
      <posx>80</posx>
      <posy>60</posy>
      <width>250</width>
      <height>200</height>
      <visible>true</visible>
      <colordiffuse>FFFFFFFF</colordiffuse>
      <texturefocus>myfocustexture.png</texturefocus>
      <texturenofocus>mynormaltexture.png</texturenofocus>
      <font>font13</font>
      <textcolor>FFFFFFFF</textcolor>
      <selectedcolor>FFFFFFFF</selectedcolor>
      <font2>font12</font2>
      <textcolor2>FFFFFFFF</textcolor2>
      <selectedcolor2>FFFFFFFF</selectedcolor2>
      <suffix> | </suffix>
      <aligny>center</aligny>
      <textxoff>5</textxoff>
      <textyoff>4</textyoff>
      <textxoff2>4</textxoff2>
      <textyoff2>5</textyoff2>
      <itemwidth>20</itemwidth>
      <itemheight>20</itemheight>
      <textureheight>16</textureheight>
      <spacebetweenitems>2</spacebetweenitems>
      <spinposx>220</spinposx>
      <spinposy>180</spinposy>
      <spinwidth>16</spinwidth>
      <spinheight>16</spinheight>
      <spincolor>FFFFFFFF</spincolor>
      <textureup>myuptexture.png</textureup>
      <textureupfocus>myuptexture.png</textureupfocus>
      <texturedown>myuptexture.png</texturedown>
      <texturedownfocus>myuptexture.png</texturedownfocus>
      <pulseonselect></pulseonselect>
      <onup>2</onup>
      <ondown>3</ondown>
      <onleft>1</onleft>
      <onright>1</onright>
</control>
</syntaxhighlight>


=== Available tags ===
Note that each tag is '''lower case only.''' This is important, as xml tags are case-sensitive.
{| class="prettytable"
! Tag !! Description
|-
|  '''description'''
|  Only used to make things clear for the skinner. Not read by {{kodi}} at all.
|-
|  '''type'''
|  Should be listcontrol for a list control.
|-
|  '''id'''
|  Specifies the control's id. The value this takes depends on the control type, and the window that you are using the control on. There are special control id's that must be present in each window. Any other controls that the skinner adds can be any id they like. As list control contents are filled by {{kodi}}, this needs to be the appropriate number for the window that the control resides in (eg 50 for the media windows).
|-
|  '''posx'''
|  Specifies where the left edge of the list should be drawn. This is offset from the window's coordinates (normally the left edge of the screen, or 0).
|-
|  '''posy'''
|  Specifies where the top edge of the list should be drawn. This is offset from the window's coordinates (normally the top edge of the screen, or 0).
|-
|  '''width'''
|  Specifies the width of the list. Each item in the list will be this wide.
|-
|  '''height'''
|  Specifies the height of the list. This determines how many items will fit in the list.
|-
|  '''visible'''
|
Specifies a condition as to when this control will be visible. Can be true, false, or a condition. [[Conditional Visibility|See here for more information.]] Defaults to true.
|-
|  '''animation'''
|
Specifies the animation to be run when the control enters a particular state. [[Animating Your Skin|See here for more information.]]
|-
|  '''texturefocus'''
|
Specifies the image file which should be displayed when a list item has focus. You can use animated gif's, jpgs, pngs, or bmps. This should be the path to the image file from the media/ folder of your skin directory. {{kodi}} will first look inside the compresses Textures.xpr file, and if not found, will look inside the media/ folder for the actual skin file. Compressing textures into Textures.xpr means far faster loading times.
|-
|  '''texturenofocus'''
|  Specifies the image file which should be displayed when a list item does not have focus.
|-
|  '''font'''
|  Font used for the items first label. From fonts.xml.
|-
|  '''textcolor'''
|  Color used for displaying the items first label. In AARRGGBB hex format.
|-
|  '''selectedcolor'''
|  Color used for displaying the items first label when the item is selected. In AARRGGBB hex format.
|-
|  '''shadowcolor'''
|  Specifies the color of the drop shadow on the text, in AARRGGBB format.
|-
|  '''font2'''
|  Font used for the items second label. From fonts.xml.
|-
|  '''textcolor2'''
|  Color used for displaying the items second label. In AARRGGBB hex format.
|-
|  '''selectedcolor2'''
|  Color used for displaying the items second labels when the item is selected. In AARRGGBB hex format.
|-
|  '''suffix'''
|  Seperator placed after a long item name when it scrolls.
|-
|  '''aligny'''
|  Label vertical alignment for each item. Defaults to top, can also be center.
|-
|  '''textxoff'''
|  Amount to offset the first label from 2 pixels to the right of the icon.
|-
|  '''textyoff'''
|  Amount to offset the first label from the top edge of the item if <alignY> is not <nowiki><center>.</nowiki>
|-
|  '''textxoff2'''
|  Amount to offset the second label's right edge from the left edge of the item. If set to zero, the text will be positioned 16 pixels from the right edge of the item. The second label text is right aligned.
|-
|  '''textyoff2'''
|  Amount to offset the second label from the top edge of the item if <alignY> is not <nowiki><center>.</nowiki>
|-
|  '''itemwidth'''
|  Width of the icon displayed on the left of the list. The icon will be resized to fit into this width (it's aspect ratio will be preserved, however). It will be displayed 8 pixels from the left edge of the list, centered vertically.
|-
|  '''itemheight'''
|  Height of the icon displayed on the left of the list. The icon will be resized to fit into this height (it's aspect ratio will be preserved, however).
|-
|  '''textureheight'''
|  Height of each item in the list.
|-
|  '''spacebetweenitems'''
|  Amount of pixels to leave blank between each item in the list.
|-
|  '''spinposx'''
|  The horizontal position of the spin control for multipage lists. This is offset from the top left of the list.
|-
|  '''spinposy'''
|  The vertical position of the spin control for multipage lists. This is offset from the top left of the list.
|-
|  '''spinwidth'''
|  The width of one of the spin control buttons. The textures for this spin control will be scaled to fit this width.
|-
|  '''spinheight'''
|  The height of one of the spin control buttons. The textures for this spin control will be scaled to fit this height.
|-
|  '''spincolor'''
|  The colour of the text used for this spin control. In AARRGGBB hex format.
|-
|  '''textureup'''
|  The up button texture for the spin control.
|-
|  '''textureupfocus'''
|  The up button texture for the spin control when it's focused.
|-
|  '''texturedown'''
|  The down button texture for the spin control.
|-
|  '''texturedownfocus'''
|  The down button texture for the spin control when it's focused.
|-
|  '''pulseonselect'''
|  Specifies whether the button should pulse when it's selected. Defaults to true.
|-
|  '''onup'''
|  Control id to move to when the user moves up off this control.
|-
|  '''ondown'''
|  Control id to move to when the user moves down off this control.
|-
|  '''onleft'''
|  Control id to move to when the user moves left off this control.
|-
|  '''onright'''
|  Control id to move to when the user moves right off this control.
|}
== See also ==
'''Development:'''
* [[Add-on development]]
* [[Skinning]]
[[Category:Skin development]]

Revision as of 14:50, 22 May 2016