今天发现,如果但用AS3的话,是不能通过更换CSS来给程序换肤的。
TestInFlex.mxml--↓--
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
public function loadStyle():void
{
StyleManager.loadStyleDeclarations("Theme/style.swf");
}
public function unloadStyle():void
{
StyleManager.unloadStyleDeclarations("Theme/style.swf");
}
]]>
</mx:Script>
<mx:Button id="buttonLoadStyle" x="259" y="90" click="loadStyle();" label="LoadStyle"/>
<mx:Button x="369" y="90" click="unloadStyle();" label="UnloadStyle"/>
<mx:Button x="259" y="37" label="Button"/>
</mx:Application>
Style.css--↓--
/* CSS file */
Button {
fontSize: 16;
}
编译之后点击按钮可以更换样式。
代码不贴了。原因是根本行不通的说。纯AS项目,没有Flex的组件,所以也没有StyleManager类。而如果硬性在纯AS项目的Library Path中添加Flex组件--swc文件的话,会导致项目不进行编译。不知道是什么问题。
- Test Three-----AIR项目中MXML下更换CSS
TestInAir.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.styles.StyleManager;
private function loadIt():void{
StyleManager.loadStyleDeclarations("Theme/style.swf");
}
]]>
</mx:Script>
<mx:Button label="测试" click="loadIt()"/>
</mx:WindowedApplication>
同样的样式文件。这次能成功更换样式。
- Test Four-----AIR项目中AS下更换CSS
TextInAir.as
package
{
import flash.display.NativeWindow;
import flash.display.NativeWindowInitOptions;
import flash.display.NativeWindowType;
import flash.display.SimpleButton;
import flash.display.Sprite;
import flash.display.StageScaleMode;
import mx.styles.StyleManager;
public class FlexFinderMain extends Sprite
{
public function FlexFinderMain()
{
super();
var options:NativeWindowInitOptions = new NativeWindowInitOptions();
options.type = NativeWindowType.UTILITY;
var window:NativeWindow = new NativeWindow(options);
window.stage.scaleMode = StageScaleMode.NO_SCALE;
var myButton:SimpleButton = new SimpleButton();
window.stage.addChild(myButton);
StyleManager.loadStyleDeclarations("Theme/style.swf");
window.width = 200;
window.height = 200;
window.activate();
}
}
}
运行的时候就会出错:
Error: No class registered for interface 'mx.styles::IStyleManager2'.
at mx.core::Singleton$/getInstance()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\Singleton.as:111]
at mx.styles::StyleManager$/get impl()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\styles\StyleManager.as:78]
at mx.styles::StyleManager$/loadStyleDeclarations()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\styles\StyleManager.as:555]
at FlexFinderMain()[E:\Folder-Program\Eclipse\Workspace\FlexFinder\src\FlexFinderMain.as:27]
at runtime::ContentPlayer/loadInitialContent()
at runtime::ContentPlayer/playRawContent()
at runtime::ContentPlayer/playContent()
at runtime::AppRunner/run()
at global/runtime::ADLEntry()
当然如果去掉StyleManager.loadStyleDeclarations("Theme/style.swf");就不会有错。
So.....
分享到:
相关推荐
HTML+CSS+JS实现!!! 21点游戏!!!!HTML+CSS+JS实现!!! 21点游戏!!!!HTML+CSS+JS实现!!! 21点游戏!!!!HTML+CSS+JS实现!!! 21点游戏!!!!HTML+CSS+JS实现!!! 21点游戏!!!!...
css实现主题,多样式变化的主题实现!
纯CSS3实现百叶窗动画效果 纯CSS3实现百叶窗动画效果
两款纯css3实现的动画菜单
消息列表向上滚动,不使用js操作,纯css3实现向上无缝滚动。
用纯css代码实现的图标集,没有任何依赖
高仿小米商城,纯HTML5和CSS3实现 高仿小米商城,纯HTML5和CSS3实现 高仿小米商城,纯HTML5和CSS3实现 高仿小米商城,纯HTML5和CSS3实现 高仿小米商城,纯HTML5和CSS3实现 高仿小米商城,纯HTML5和CSS3...
纯css按钮
不需要有任何JavaScript操作,使用纯css控制静态图片实现页面动态的雪花飘落效果。
分享纯css3实现时钟效果,供大家一起共同分享学习。
纯CSS控制实现的拉菜单效果,反复删改,只留下了核心代码,在最大程度上为需要的人留下了空间
购书+阅读静态网页设计与实现,原生HTML+CSS+Javascript,基本实现网站经典功能:图片轮播切换、点击切换、表单登录验证、用户浏览网站时长计算、鼠标点击提示、加载提示,体验前端开发的过程,小白入门前端开发案例...
通过HTML + CSS 实现web前端选项卡效果,写这个的初衷就在于那个亘古不变的道理,能用CSS解决的就不用js
纯CSS3实现漂亮的列表效果
本源码是一款非常有创意的纯CSS3导航菜单特效的代码。该导航菜单主要通过CSS3 transform和transition方法实现效果,非常简单。该特效由進擊的燊提供。本代码适用浏览器:搜狗、360、FireFox、Chrome、Safari、Opera...
内容概要: 使用纯css实现扇形展开效果 能学到什么: css变化, 旋转以及定义旋转的原点 阅读建议: 有一点点css基础的
纯CSS实现的表格滚动条效果,非常美观和实用。代码简短清晰。
html纯css实现表格样式
我发现有一件事情,即使在今天,仍然可以实实在在地带给我乐趣——那就是用CSS的各种神奇的特性,实现各种神奇的效果。有些效果甚至令人惊叹——“这怎么可能是用CSS实现的?!”
纯前端发送邮箱代码实现 HTML+CSS纯前端发送邮箱代码实现 HTML+CSS纯前端发送邮箱代码实现 HTML+CSS纯前端发送邮箱代码实现 HTML+CSS纯前端发送邮箱代码实现 HTML+CSS纯前端发送邮箱代码实现 HTML+CSS纯前端发送邮箱...