【问题标题】:Dynamic label truncated on a spark button在火花按钮上截断的动态标签
【发布时间】:2012-11-07 23:55:28
【问题描述】:

我在屏幕上有一个火花按钮,我正在使用 actionscript 动态更新标签,如下所示:

discount.label = this.data.SelectedDiscount.discount + "%";

问题是新的标签文本被截断了,即使它有空间。

按钮中的标签最初是空白的:

然后在我用上面的代码更改标签后,它看起来像这样,当它应该说“30%”时:

但是,如果我随后单击该按钮,它会更新显示并正确呈现:

我尝试了所有各种无效和验证方法,使用按钮宽度等等,但都无济于事。如果初始标签更宽,具有像“------”这样的值,那么它可以正常工作,但不幸的是,一串空格并不能解决问题。出于可用性原因,我真的不想要一串“0%”或“00%”,那么有什么简单的方法可以让它正常工作吗?

我最好避免为了实现这一点而不得不假装点击鼠标。

【问题讨论】:

  • 这不应该发生。你的皮肤课一定有问题。你能给我们看一些代码吗?
  • discount 是 Button 类的一个实例,对吗?您是否尝试过在 Button 的 labelDisplay 皮肤部分使用 invalidatingSize()? (help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/…)。演示该问题的可运行示例将对此有所帮助。
  • 折扣是 mxml 中的一个按钮,如下所示: "" — 我应该提到这是在里面一个项目渲染器。
  • 你能显示你的 itemRenderer 代码吗?

标签: apache-flex button air adobe flex-spark


【解决方案1】:

感谢@www.Flextras.com 的指导,我通过在按钮的皮肤而不是按钮本身上调用invalidateSize() 方法来完成这项工作,即:

discount.skin.invalidateSize();

【讨论】:

  • 有趣。我想知道在按钮上调用 invalidateSkinState() 是否会产生相同的影响。
  • 只是出于兴趣尝试,直到我点击它才更新标签!
猜你喜欢
  • 2015-05-14
  • 1970-01-01
  • 2010-10-05
  • 2011-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-26
相关资源
最近更新 更多