Tab Bar
The tab bar component shows an unordered list of buttons on the screen wrapped together in a single group. It can be placed in the header or footer of the page.
| Note |
|---|
| This component has been DEPRECATED since Tizen 2.4 and will be deleted in Tizen 3.0. To support Backward compatibility, please import tau.support-2.3.js. |
| Since 2.4, to use Tab Bar component, please refer Tabs component. |
Table of Contents
- Default Selectors
- Manual Constructor
- Options
- Creating a Basic Tab Bar
- Creating a Tab Bar with MultiPages
Default Selectors
By default, all HTML elements with the data-role="tabbar" attribute are displayed as tab bars.
Manual Constructor
To manually create a tab bar component, use the component constructor from the tau namespace (RECOMMENDED):
<div data-role="page" id="tab-bar-page">
<div data-role="header">
<div id="ready-for-tab-bar">
<ul>
<li><a href="#">Tabbar1</a></li>
<li><a href="#">Tabbar2</a></li>
<li><a href="#">Tabbar3</a></li>
</ul>
</div>
</div>
<div data-role="content">
Content
</div>
</div>
<script>
(function(document)
{
var pageElement = document.getElementById("tab-bar-page"),
tabBarElement = document.getElementById("ready-for-tab-bar"),
tabBar;
function createPageHandle()
{
tabBar = tau.widget.TabBar(tabBarElement);
}
pageElement.addEventListener("pagecreate", createPageHandle);
}(document));
</script>
The constructor requires an HTMLElement parameter to create the component, and you can get it with the document.getElementById() method. The constructor can also take a second parameter, which is an object defining the configuration options for the component.
If the jQuery library is loaded, you can use its method (support for backward compatibility):
<div data-role="page" id="ab-bar-page">
<div data-role="header">
<div id="ready-for-tab-bar">
<ul>
<li><a href="#">Tabbar1</a></li>
<li><a href="#">Tabbar2</a></li>
<li><a href="#">Tabbar3</a></li>
</ul>
</div>
</div>
<div data-role="content">
Content
</div>
</div>
<script>
(function(document)
{
function createPageHandle()
{
$("#ready-for-tab-bar").tabbar();
}
$("#tab-bar-page").on("pagecreate", createPageHandle);
}(document));
</script>
Options
The following table lists the options for the tab bar component.
| Option | Input type | Default value | Description |
|---|---|---|---|
| data-auto-change | boolean | true | If "true", the component automatically changes the active status of the tab when the user clicks the tab. |
| data-active | number | 0 | Sets the default active tab. |
Creating a Basic Tab Bar
A basic tab bar is for users who want a tab bar for one page.
Basically, the page has one tab bar, and when the user clicks the tab, only the content area is changed. Clicking a tab never changes the entire page.
- To create a simple tab bar in the header:
<div data-role="page"> <div data-role="header"> <div data-role="tabbar"> <ul> <li><a href="#">Tabbar1</a></li> <li><a href="#">Tabbar2</a></li> <li><a href="#">Tabbar3</a></li> </ul> </div> </div> <div data-role="content"> Content </div> </div> - To create a simple tab bar in the footer:
<div data-role="page"> <div data-role="content"> Content </div> <div data-role="footer"> <div data-role="tabbar"> <ul> <li><a href="#">Tabbar1</a></li> <li><a href="#">Tabbar2</a></li> <li><a href="#">Tabbar3</a></li> </ul> </div> </div> </div>
Creating a Tab Bar with MultiPages
To create a tab bar for multiple pages (where clicking a tab changes the entire page), the data-auto-change option must be "false" and you must use the "ui-btn-active" class for each tab:
<div class="ui-page" id="first">
<div class="ui-header">
<div class="ui-tabbar" data-auto-change="false">
<ul>
<li><a href="#first" class="ui-btn-active">First</a></li>
<li><a href="#second">Second</a></li>
<li><a href="#third">Third</a></li>
</ul>
</div>
</div>
<div class="ui-content">
First page
</div>
</div>
<div class="ui-page" id="second">
<div class="ui-header">
<div class="ui-tabbar" data-auto-change="false">
<ul>
<li><a href="#first">First</a></li>
<li><a href="#second" class="ui-btn-active">Second</a></li>
<li><a href="#third">Third</a></li>
</ul>
</div>
</div>
<div class="ui-content">
Second page
</div>
</div>
<div class="ui-page" id="third">
<div class="ui-header">
<div class="ui-tabbar" data-auto-change="false">
<ul>
<li><a href="#first">First</a></li>
<li><a href="#second">Second</a></li>
<li><a href="#third" class="ui-btn-active">Third</a></li>
</ul>
</div>
</div>
<div class="ui-content">
Third page
</div>
</div>