styleManager.getStyleDeclaration取出对象为null
var cssStyleDeclaration:CSSStyleDeclaration = styleManager.getStyleDeclaration("com.esri.ags.components.supportClasses.InfoContainer") cssStyleDeclaration.setStyle("backgroundColor", getStyle('contentBackgroundColor'));
1.首先想到的是这个类写错没,没写错
2.和实例化有关?发现果然是这样。没被实例化就取出为null
3.这个哪里没被实例化?没找到
纠结!!!!
突然找到这样一篇文章
FLEX中CSS编译成SWF的经验总结http://blog.lunastudio.cn/?p=205
为了在FLEX中实现动态样式切换,一般的做法是将CSS编译成SWF之后,再使用
StyleManager.loadStyleDeclarations("css.swf");
这样的方式来实现样式的切换工作.
我们可以在右键CSS文件,然后选择"编译CSS为SWF文件"来实现我们想要的效果.但是有一点注意,如果你的CSS中定义了类似
skinClass:ClassReference("cn.LunaStudio.skins.ImageButtonSkin");
这样的自定义的皮肤指向,编译出来的SWF中会找不到这些自定义的类,所以会在加载CSS.SWF之后使用的过程中报找不到类的错误.
这个时候,你需要把CSS文件放到SRC的根目录下,然后你就会发现编译出来的类便正常地包含了自定义的类了,然后一切正常了
悲催啊,这个细节不知道。项目中defaults.css位置被我放在asset文件夹下了,果断放回src目录下,不出问题了........
相关推荐
jiedinghui 2020-10-25
Ladyseven 2020-10-22
zuncle 2020-09-28
xiaohuli 2020-09-02
葉無聞 2020-09-01
nicepainkiller 2020-08-20
AlisaClass 2020-08-09
myloveqiqi 2020-08-09
buttonChan 2020-08-02
drdrsky 2020-07-29
Ladyseven 2020-07-25
nicepainkiller 2020-07-24
AlisaClass 2020-07-19
hellowzm 2020-07-19
background-color: blue;background-color: yellow;<input type="button" value="变蓝" @click="changeColorT
昔人已老 2020-07-19
骆驼的自白 2020-07-18
lanzhusiyu 2020-07-19
hellowzm 2020-07-19
CSSEIKOCS 2020-07-18