Sencha Touch 2.x
  • Contenidos
  • Introducción
  • Instalación
  • Nuestra primera aplicación
    • Código HTML básico de una aplicación
    • Compilar un proyecto
    • Aviso durante la carga
    • Instanciar una aplicación
    • Comprobar los resultados
    • Fichero único vs. MVC
  • Uso de Componentes y Contenedores
    • Instanciar componentes
    • Configuración de componentes
    • Identificadores y referencias
    • Array de items y el atributo xtype
    • Añadir componentes a contenedores
    • Eliminar componentes de un contenedor
    • Mostrar y ocultar componentes
    • Eventos
    • Destruir componentes
  • Layouts
    • Layout tipo hbox
    • Layout tipo vbox
    • Layout tipo card
    • Layout tipo fit
    • Docking o acoplamiento
    • Pack y align
  • Transiciones de cambio de vista
  • Componentes
    • Toolbars
    • Botones
    • TabPanel
    • Carousel
    • Diálogos
    • Formularios
  • Almacenamiento
    • Data Model
    • Data Store
    • Proxy
  • Componentes asociados a datos
    • Plantillas
    • DataViews
    • Listados
    • Formularios
  • Más información
  • Ejercicios 1
  • Ejercicios 2
  • Ejercicios 3
Powered by GitBook
On this page

Was this helpful?

  1. Componentes

TabPanel

Un TabPanel es similar a un panel con un layout tipo card, pero al que se ha añadido además la funcionalidad de mostrar automáticamente una barra de herramientas con la lista de tabs que contiene y que nos permitirá cambiar entre ellos.

Esta barra de tabs se puede posicionar en la parte superior (top) o en la inferior (bottom) del panel, y opcionalmente se le puede asignar un título e iconos a los botones.

En el siguiente ejemplo se muestra un TabPanel con los tabs en la parte inferior, además se le han añadido iconos:

Ext.application({
    name: 'MiApp',
    launch: function() {
        Ext.create('Ext.TabPanel', {
            fullscreen: true,
            tabBarPosition: 'bottom',
            defaults: {
                styleHtmlContent: true
            },
            items: [
                {
                    title: 'Home',
                    iconCls: 'home',
                    html: 'Home Screen'
                },
                {
                    title: 'Contact',
                    iconCls: 'user',
                    html: 'Contact Screen'
                }
            ]
        });
    }
});

El cual se mostraría como:

Como se puede observar la barra de tabs automáticamente se configura con su icono y título, además al pulsar sobre ellos se realizaría una animación para cambiar de panel. Si no se especifica el atributo tabBarPosition la barra por defecto se situará en la parte superior, a continuación se incluye un ejemplo:

Ext.application({
    name: 'MiApp',
    launch: function() {
        Ext.create('Ext.TabPanel', {
            fullscreen: true,
            defaults: {
                styleHtmlContent: true
            },
            items: [
                {
                    title: 'Home',
                    html: 'Home Screen'
                },
                {
                    title: 'Contact',
                    html: 'Contact Screen'
                }
            ]
        });
    }
});

El cual se mostraría como:

Animaciones en un TabPanel

Los TabPanel realizan el cambio de panel automáticamente (no tenemos que escribir código para esto) y tienen asignada la animación tipo slide por defecto. Si queremos podemos cambiarla por cualquier otra (podemos usar las mismas que en un card layout) de la forma:

Ext.application({
    name: 'MiApp',
    launch: function() {
        Ext.create('Ext.TabPanel', {
            fullscreen: true,
            defaults: {
                styleHtmlContent: true
            },
            layout: {
                type: 'card',
                animation: {
                    type: 'fade'
                }
            },
            items: [
                {
                    title: 'Home',
                    html: 'Home Screen'
                },
                {
                    title: 'Contact',
                    html: 'Contact Screen'
                }
            ]
        });
    }
});
PreviousBotonesNextCarousel

Last updated 5 years ago

Was this helpful?