我在这里找到了有关此主题的详细答案/信息:http://www.sencha.com/products/extjs/up-and-running/themes-introduction
这很有帮助。
详情:
基本上,我想在本地尝试这个例子:http://dev.sencha.com/extjs/5.0.0/examples/kitchensink/#side-navigation-tabs
所以,为了完成我的要求,这些是要做的事情:
首先,您必须使用 Sencha Cmd 生成工作区。在工作区中有带有主题的 ext lib 和您的应用程序 + 可选的主题。 -ext 选项意味着这个命令会在你的工作空间中下载 extjs,非常有用。
sencha 生成工作空间 -ext my-workspace
然后您必须进入您的工作区并生成您的应用程序。 (-sdk ext 这意味着 extjs lib 在 ext 目录中。当您构建应用程序或在您的应用程序上执行其他操作时始终使用 ExtJs lib)
cd 我的工作区
sencha -sdk ext 生成应用 ThemeDemoApp 主题-演示-应用
我想为我的标签面板添加自定义用户界面。让我们在适当的目录中创建该选项卡面板:
cd 主题演示应用程序
vim app/view/main/TabPanel.js
我使用 vim,但您可以使用任何文本编辑器来完成。将此代码放入该文件中:
Ext.define('ThemeDemoApp.view.main.TabPanel', {
扩展:'Ext.tab.Panel',
xtype: '自定义标签面板',
ui: '导航',
tabPosition: '左',
选项卡旋转:0,
标签栏:{
边框:假
},
项目: [{
标题:'标签 1',
html: '文本内容'
}, {
标题:'标签 2',
html: '文本内容'
}, {
标题:'标签 3',
html: '文本内容'
}]
});
现在我们必须在 css 中定义 ui:'navigation'。为此,我们必须在同一目录中创建 TabPanel.scss 文件,因为类相对于 sass/src 目录中的应用程序 (view/main) :
mkdir sass/src/视图
mkdir sass/src/view/main
vim sass/src/view/main/TabPanel.scss
并使用任何文本编辑器(我使用 vim)将 saas 脚本放入该文件中:
@include extjs-tab-panel-ui(
$ui: '导航',
$ui-tab-background-color: 透明,
$ui-tab-background-color-over: #505050,
$ui-tab-background-color-active: #303030,
$ui-tab-background-gradient: '无',
$ui-tab-background-gradient-over: '无',
$ui-tab-background-gradient-active: '无',
$ui-tab-color: #acacac,
$ui-tab-color-over: #c4c4c4,
$ui-tab-color-active: #fff,
$ui-tab-glyph-color: #acacac,
$ui-tab-glyph-color-over: #c4c4c4,
$ui-tab-glyph-color-active: #fff,
$ui-tab-glyph-opacity: 1,
$ui-tab-border-radius: 0,
$ui-tab-border-width: 0,
$ui-tab-inner-border-width: 0,
$ui-tab-padding: 24px,
$ui-tab-margin: 0,
$ui-tab-font-size: 15px,
$ui-tab-font-size-over: 15px,
$ui-tab-font-size-active: 15px,
$ui-tab-line-height: 19px,
$ui-tab-font-weight: 粗体,
$ui-tab-font-weight-over: 粗体,
$ui-tab-font-weight-active:粗体,
$ui-tab-icon-width: 24px,
$ui-tab-icon-height: 24px,
$ui-bar-background-color: #404040,
$ui-bar-background-gradient: '无',
$ui-bar-padding: 0,
$ui-strip-height: 0
);
让我们使用我们的自定义标签面板而不是 app/view/main/Main.js 中使用的默认标签面板 所以,该文件的代码必须如下所示:
Ext.define('ThemeDemoApp.view.main.Main', {
扩展:'Ext.container.Container',
需要:['ThemeDemoApp.view.main.TabPanel'],
xtype:'应用程序主',
控制器:'主要',
视图模型:{
类型:'主要'
},
布局: {
类型:'边框'
},
项目: [{
xtype:'面板',
绑定:{
标题:'{name}'
},
地区:“西部”,
html: '
',
宽度:250,
分裂:真的,
酒吧:[{
文本:'按钮',
处理程序:'onClickButton'
}]
},{
区域:'中心',
xtype: '自定义标签面板'
}]
});
现在我们必须构建应用程序。 (将我们的新组件放在 requires 中很重要,否则 sencha cmd 将忽略我们到目前为止所做的事情:))
sencha 应用程序构建
并在本地运行应用程序:
煎茶应用手表
最后打开这个看看结果:Demo App