///////////////////////Theme start///////////////////////////////////
Ext.ux.ThemeCycleButton = Ext.extend(Ext.CycleButton, {
/**
* file 你的css名称
* text 下拉框的名称
* iconCls 设置图标css
*/
cssItems:[
{file: 'ext-all.css', text: 'Blue ',checked:true, iconCls: 'icon-blue-theme'},
{file: 'xtheme-gray.css', text: 'Gray ', iconCls: 'icon-gray-theme'},
{file: 'xtheme-slate.css', text: 'Slate ', iconCls: 'icon-blue-theme'},
{file: 'xtheme-black.css', text: 'Black ', iconCls: 'icon-blue-theme'},
{file: 'xtheme-olive.css', text: 'Olive ', iconCls: 'icon-blue-theme'},
{file: 'xtheme-purple.css', text: 'Purple ', iconCls: 'icon-blue-theme'}
],
themeVar:'style',
headVar: 'head',
//cssPath是你放css的位置,这个路径要是弄错了,神仙也出不来的
cssPath:'ext3/Ext/resources/css/',
initComponent: function() {
Ext.apply(this, {
showText: true,
prependText: ' ',
items: this.cssItems
});
if(Ext.state.Manager){
var selectedTheme = Ext.state.Manager.get(this.themeVar);
if(selectedTheme){
for(var i=0; i<this.items.length;i++){
if (this.items[i].file == selectedTheme){
this.items[i].checked = true;
this.changeHandler(this, this.items[i]);
break;
}
}
}
}
Ext.ux.ThemeCycleButton.superclass.initComponent.apply(this, arguments);
},
changeHandler: function(o, i){
if(Ext.state.Manager.getProvider()) {
Ext.state.Manager.set(this.themeVar, i.file);
Ext.state.Manager.set(this.headVar, i.head);
}
Ext.util.CSS.swapStyleSheet(this.themeVar, this.cssPath + i.file);
Ext.util.CSS.getRule('.x-panel-body', true).style.background = 'url(' + i.head + ')';
// Ext.util.CSS.updateRule('.x-panel-body', 'background', 'url(' + i.head + ')');
if(Ext.getCmp('viewport')){
Ext.getCmp('viewport').layout.center.panel.setSize(Ext.getCmp('viewport').layout.center.getSize().width + 1);
Ext.getCmp('viewport').doLayout();
Ext.getCmp('viewport').layout.center.panel.setSize(Ext.getCmp('viewport').layout.center.getSize().width - 1);
Ext.getCmp('viewport').doLayout();
}
}
});
//Ext.util.CSS.swapStyleSheet("theme", "ext3/Ext/resources/css/icon-gray-theme.css");
Ext.reg('themecyclebutton', Ext.ux.ThemeCycleButton);
var tb=new Ext.Toolbar('toolbar-div');//创建一个工具条
tb.add(
new Ext.ux.ThemeCycleButton
);
///////////////////////////////////Theme end//////////////////////////////////////////
分享到:
相关推荐
"几款非常不错的Ext皮肤"这个主题,显然是关于如何为ExtJS应用选择和应用不同风格的皮肤,以提升用户体验和满足个性化需求。 皮肤在ExtJS中扮演着至关重要的角色,它们定义了UI组件的颜色、字体、布局等视觉元素。...
EXT皮肤是EXT库的重要组成部分,它定义了这些组件的外观和感觉,使得开发者可以根据自己的需求和品牌风格自定义用户界面。 EXT皮肤不仅仅是CSS样式表,它还包括了相关的图片资源,如按钮、滚动条、图标等组件的图形...
"EXT 皮肤包"是一个专为EXTJS框架设计的一系列视觉样式集合,这些皮肤用于改变EXTJS组件的外观,提供多样化的用户界面风格。EXTJS是一个强大的JavaScript库,用于构建富客户端应用程序,它包含了丰富的组件库和数据...
"Ext皮肤样式 实现完美换肤效果"的主题主要围绕如何利用ExtJS的皮肤系统,实现应用界面的多样化和个性化。 1. **皮肤机制**:ExtJS的皮肤系统允许开发者通过更换CSS样式文件和图像资源来改变组件的外观。每个皮肤...
EXT皮肤是一种专为EXT框架设计的用户界面样式和主题,EXT是一个基于JavaScript的富客户端开发框架,用于构建功能强大、交互性强的Web应用程序。EXT皮肤是EXT应用的外观表现,它定义了组件的颜色、字体、边框、阴影等...
EXT皮肤是改变EXT组件外观和感觉的一系列CSS样式和图像文件,使得开发者可以自定义应用的视觉风格,以满足不同用户或企业品牌的需求。 "EXT皮肤漂亮"这个标题暗示了我们将探讨的是EXT库中关于美观、吸引人的皮肤...
EXT皮肤是EXT JS框架中用于定制用户界面外观的重要组成部分。EXT JS是一款强大的JavaScript库,用于构建富客户端Web应用程序。它的皮肤系统允许开发者根据项目需求调整和美化应用的视觉样式,而无需深入修改代码。 ...
EXT皮肤是EXT JS框架中的一个重要组成部分,它允许开发者通过更换不同的皮肤样式,改变应用程序的外观,以满足用户界面的个性化需求。EXT皮肤通常由CSS样式表和对应的图片资源组成,这些资源定义了组件的各种视觉...
描述中的"各种ext皮肤"意味着这个压缩包可能包含了EXT的多种预设皮肤,以及可能由社区开发者创建的第三方皮肤。EXT官方提供了诸如“gray”、“accessibility”等默认皮肤,而社区则开发了如“neptune”、“sahara”...
"extstyle12套原版漂亮的EXT皮肤"这一主题意味着我们拥有一系列经过官方认证或原创设计的EXT皮肤,这些皮肤具有美观的外观,可以极大地提升EXT应用的视觉吸引力。通常,一套完整的EXT皮肤会包含一系列CSS文件、图片...
本压缩包“EXT皮肤大全(13种)”提供了13种不同的EXT JS皮肤,这些皮肤可以极大地丰富EXT应用的外观设计,满足不同项目需求和用户口味。每种皮肤通常包含CSS样式文件、图片资源和其他必要的文件,用于定义控件的...
"EXT皮肤,EXTJS皮肤资源"这个主题主要涵盖了EXTJS中的皮肤系统以及如何使用和自定义皮肤。EXTJS的皮肤不仅仅包括CSS样式,还包括图像和其他图形资源,这些资源共同决定了组件的视觉表现。在提供的压缩包中,我们...
ext皮肤包,共有六个,分别是“xtheme-blace”“xtheme-darkgray”“xtheme-galdaka”“xtheme-olive”“xtheme-purple”“xtheme-slate”
皮肤是改变Ext JS组件视觉样式的一种方式,允许用户在不修改核心代码的情况下,调整应用程序的界面设计。 一、Ext JS 皮肤的工作原理 在Ext JS中,皮肤主要由CSS样式和相关的图像资源组成。CSS文件定义了各个组件的...
各位AOM的爱好者,AOM目前采用的默认EXT皮肤很漂亮,但是从1.0用到2.0再用到2.3,想必各位的项目都已经成熟稳定了,这时候很多人想锦上添花,让自己的项目更加出众一些,那就要在外观上做一些美化了。 遗憾的是,...
extjs (ext) 变更主题。...13种皮肤主题 有教程,可移植到ext 2.0.2+任何版本,轻松实现换肤, 是从本人做的系统中抠下来的, 通过ie firfoe opera等测试可用,10分不为过~~好东西。留给有心人~~~
标签中的“Ext皮肤”、“Ext12款皮肤”、“ExtJS皮肤”和“ExtJS12款皮肤”进一步强调了这些皮肤是专门为ExtJS框架设计的,它们可能适用于不同的ExtJS版本,为开发者提供了多样化的选择。 在压缩包文件“extjs2皮肤...
因此,选择和定制EXT皮肤时,需要考虑的因素包括但不限于色彩搭配、按钮尺寸、字体大小、布局结构等,以确保最终呈现的UI既美观又实用。 在实际开发中,EXT 2.0的皮肤可以通过EXT的`Ext.Theme`类进行配置。例如,...
描述中提到“Ext界面美观,里面包括18种Ext皮肤”,这表明这些皮肤旨在提升应用程序的视觉吸引力,为用户提供多样化的界面选择。在ExtJS中,皮肤不仅仅是一种装饰,它们通过CSS样式和图像资源来定义组件的外观,可以...