Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Image List

tneil edited this page · 31 revisions

Image List Image List

Creating an image list is really simple and begins with creating a <div> that has the attribute data-bb-type="image-list". Each item in the list is another <div> that has the attribute data-bb-type="item". Each item has an image (data-bb-img), a title (data-bb-title), accent text that floats in the top right (data-bb-accent-text), and a description which is the innerHTML of the <div>.

<div data-bb-type="screen">
    <div data-bb-type="image-list">
        <div data-bb-type="item" data-bb-img="icon1.png" data-bb-title="Title">Description</div>
        <div data-bb-type="item" data-bb-img="icon2.png" data-bb-title="Title" data-bb-accent-text="Accent Text">Description</div> 
        <div data-bb-type="item" data-bb-img="icon3.png" data-bb-title="Title">Description</div> 

To add a click event to one of the line items, simply add an onclick event to the <div>

<div data-bb-type="item" onclick="alert('clicked')" data-bb-img="icon9.png" data-bb-title="Title">Description</div> 

Image Sizes

  • BlackBerry 5 & 6 - 60 x 60 pixels
  • BlackBerry PlayBook & BlackBerry 7 - 70 x 70 pixels
  • BlackBerry PlayBook with BB10 styling - 64 x 64 pixels
  • BlackBerry 10 - 119 x 119 pixels


An image list can have both headers and line items. A header is declared by creating a <div> with a data-bb-type="header" attribute and the innerHTML contents of the <div> are displayed as the label of the header. Headers have their text centered by default. To left justify your header text add the data-bb-header-justify="left" or to right justify your text add the data-bb-header-justify="right"attribute to your image list.

For BlackBerry 10 you can also specify if you want your header to be a solid color, or the default gradient. To use solid headers simply add the data-bb-header-style="solid" attribute to your image list.

<div data-bb-type="image-list" data-bb-header-justify="left" data-bb-header-style="solid">
    <div data-bb-type="header">My Header</div>
    <div data-bb-type="item" data-bb-img="icon9.png" data-bb-title="Title">Description</div> 

Image Options and Effects

If you want a simple list without images you can set the data-bb-images="none" attribute on your image list

<div data-bb-type="image-list" data-bb-images="none">


You can also specify placeholder images that are used for when you don't have an image to represent the list item, or if the url to your list item is broken. This can be done by setting the data-bb-image-placeholder attribute with the path to your placeholder image

<div data-bb-type="screen">
    <div data-bb-type="image-list" data-bb-context="true">
        <div data-bb-type="item" data-bb-title="Title">No Image</div>
        <div data-bb-type="item" data-bb-img="/unreachable/image.png" data-bb-title="Title">Unreachable</div>


On BlackBerry 10 you can also specify an image effect for how your images will show up in your list. This can be done by setting the data-bb-image-effect="fade" attribute for your image list. Each of the images will fade in once they have been loaded.

<div data-bb-type="image-list" data-bb-image-effect="fade">


Context Menu Integration

If you want to attach a BlackBerry 10 context menu to your image list you can add the data-bb-context="true" attribute. This will automatically hook up your image list to the press and hold context menu that you have declared for the screen. When the image list item is pressed and held for 667ms it will peek the screen's context menu passing the title and description of the list item along with a handle to the item element. See the Context Menu area for more details of interacting with the menu.

NOTE: The context menu integration with the image list only works on BlackBerry 10

Changes Coming in v0.9.3

Image lists can be one of 5 different styles that are specified with the data-bb-style attribute. These styles can be one of default | arrowlist | arrowbuttons | addbuttons | removebuttons. Not specifying this attribute, or specifying default will create an ordinary image list. Specifying one of the other values will create a special list which is outlined below.

Arrow Lists

An Arrow list is a list typically used as a navigation menu. To create an arrow list simply set the data-bb-style="arrowlist" attribute. This will create the right aligned chevron/arrow beside each list item.

Arrow list

Button Lists

An button list is typically used when you want to list information but also have a button on the list item that will perform a different action than clicking the item itself. This type of list can be created by specifying arrowbuttons | addbuttons | removebuttons for the data-bb-style attribute. The arrowbuttons value will create chevron/arrow (>) buttons on the far right of each list item. The addbuttons value will create (+) buttons on the far right of each list item. The removebuttons value will create (-) buttons on the far right of each list item.

To trap the click of this list button you can simply add an onbtnclick event to your list item.

<div data-bb-type="image-list" data-bb-style="addbuttons">
    <div data-bb-type="item" data-bb-img="1.jpg" onbtnclick="addItem()" data-bb-title="Title">Description</div> 
    <div data-bb-type="item" data-bb-img="2.jpg" onbtnclick="addItem()" data-bb-title="Title">Description</div>

Button lists are ONLY supported with BlackBerry 10 styling.

Arrow Button ListAdd Button List

Image List JavaScript Interface

You can retrieve the selected item from a list by using the selected property when the user clicks on an item or button in the list.

var selectedItem = document.getElementById('mylist').selected;

The image list also has an appendItem( item ) function so that you can add an item to the end of the list.

// Create the item's DOM in a fragment
var item = document.createElement('div');
item.setAttribute('data-bb-title','my title');
item.innerHTML = 'my description';

// Append to list

Image List Item JavaScript interface

You can retrieve the values for an image list item by using the following functions

getTitle()        // Returns title of item
getDescription()  // Returns the description of the item
getAccentText()   // Returns the accent text of the item
getImage()        // Returns the path of the image used

You can also remove an item from its list by calling the item's remove() function.

var selected = document.getElementById('mylist).selected;
Something went wrong with that request. Please try again.