Once you have the design of your theme you will have to orginize the pages layout so it's posibble to implement them inside ThrottleLauncher. ThrottleLauncher works based on rows. A row is an horizontal container that by default it takes all the screenwidth (we are not talking here about rows contained inside other rows or panels, this is an advanced concept). For each row you will have to specify an height.
Tip: you can use negative heights to represent height relative to the main theme height, so for example if we have a theme who's height is 300 and we have a row with a -1 height specified, the real row height will be 299.
Ok, now that we have out design separated in rows (we can have the whole page inside a single row) we have to decide wich layout matches our need. The available layouts are:
- Rows: this is the default layout. This layout distributes the items of the row in diferent rows (defined by the row's rows attribute). This kind of layout is recomended if it's contents are dinamic (for example if it will contain the list of application), this way the items will be automatically distributed. This kind of layout will probably need the use of Kinetic, Direct, Paged or WheelOfFortune scrolling that we will see later.
Tip: You can make an item take more than one row by using the rowspan attribute.
- Cols: with this layout the contents of the row will be distributed in cols (defined by the row cols attribute). As the rows layout, it's recomended if the contents of the row are dynamic. With this kind of layout the scroll to use will be Kinetic if needed.
- Free: in this layout the position of the elements are custom. You can place each item inside the row by specifying their X and Y attributes. This coordinates are relative to the top left corner of the row.
Note that in way to organize the items inside a row, we can use the panel container. The panel container has the same capabilities of the row (layout, skins, etc) but it can be placed just like any other item by specifying it's X,Y or taking a single position inside a Rows or Cols layout. You kind use the same layouts defined below for panels.
Tip: You can define the width and height of the row but if you don't specify it, it's size will be the minimum necesary to fit it's contents.
There are different types of rows based on how they scroll (scollingmode attribute). Note that if the rows content is smaller than the continer size, the row will obviously not scroll. The scrolling modes are:
- None: we force the row not to scroll. Even if the contents
- Kinetic (default): the row will scroll in a kinetic mode both horizontally and vertically if needed..
- Paged: the contents of the row will be distributed in pages, if it's possible the content will not be splitted between pages but it will jump into another page automatically. Content's of each pages are centered by default. Note that this mode is not available for vertical scrolling, the vertical scrolling if needed will be kinetic.
Tip: use the tag to force a jump to the next page.
- WheelOfFortune: This mode is similar to the kinetic, but friction will only applied when an item reaches the left bound of the screen, and a sound and vibration (if enabled) will be aplied when this hapens.
- Direct: this mode is similar to the TF3D footer scrolling. Note that if applied to a footer, a faded efect will be aplied according to the pagebackground color, an avatar of the icon will be shown as long the png with _big subfix exists.
Note that pages can only use rows, todayplugins or throttleplugins as visual elements. Rows cannot contain plugins or todayplugins in current ThrottleLauncher version.
Hope this helps!