如何解决Flex 3-更改样式名称时,文本控件会闪烁
| 我的文本控件出现闪烁的问题。 这里是上下文: 我有一个由Text控件表示的标题(没有Label,因为它需要能够在多行中显示)。当用户将鼠标悬停在标题上时,必须在文本下划线。 我做了什么: 我已将标题的滚动和展开事件的侦听器设置为如下所示: private function titleHandler(e : MouseEvent) : void {
switch(e.type) {
case MouseEvent.ROLL_OVER:
_title.styleName = \'accessoriesTitleHover\';
break;
case MouseEvent.ROLL_OUT:
_title.styleName = \'accessoriesTitle\';
break;
}
}
问题:
每次更改样式名称时标题都会闪烁(我什至会说标题消失并重新出现)
我尝试过的替代解决方案:
使用setStyle更改下划线属性(无效)
在CSS中定义.accessoriesTitle和.accessoriesTitle:hover样式,但是悬停不起作用=(
有人会知道解决方案或解决此闪烁的问题吗?
感谢您的时间和帮助! :)
问候,
BS_C3
抱歉造成延迟,这是两种样式的声明:
.accessoriesTitle{
font-size: 13pt;
text-decoration: none;
leading: 1pt;
}
.accessoriesTitleHover{
font-size: 13pt;
text-decoration: underline;
leading: 1pt;
}
问候
解决方法
试试这个
private function titleHandler(e : MouseEvent) : void {
switch(e.type) {
case MouseEvent.ROLL_OVER:
_title.setStyle(\'styleName\',\'accessoriesTitleHover\');
break;
case MouseEvent.ROLL_OUT:
_title.setStyle(\'styleName\',\'accessoriesTitle\');
break;
}
}
如果这不起作用,请立即答复。
谢谢
,我找到了一个“ hack”来解决此问题。
如果没有这些技巧,似乎是在清空文本之后再使用带下划线的样式再次渲染该文本。当文本从带下划线的样式变为无文本装饰样式时,也是如此。
文本要么更改其大小(从当前大小更改为0,然后更改为新大小),要么清空内容,然后再次呈现。
因此,我设置了文字高度,这就是我得到的:
private function titleHandler(e : MouseEvent) : void {
switch(e.type) {
case MouseEvent.ROLL_OVER:
_title.height = _title.height;
_title.styleName = \'accessoriesTitleHover\';
break;
case MouseEvent.ROLL_OUT:
_title.styleName = \'accessoriesTitle\';
break;
}
}
而且一切正常:)
感谢您的时间。
问候,
BS_C3
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。