问题描述
|
我正在开发一个Flex应用程序,其中我想大致模拟当我们向Google搜索图像时所得到的东西。当我们将鼠标指针移到图像上时,它会放大一点,以便我们可以更好地看到它,并在需要时单击它。
我知道我可以使用图像并通过mouSEOver / mouSEOut事件来增加其大小,但事实是,当我使用带有图标的按钮时,用户更容易意识到他们可以单击(相对于普通图像)。
所以这是问题。是否可以通过按钮方法/属性来更改按钮图标(在这种情况下,其高度和宽度)?
如果这太令人困惑,我可以进一步解释。
谢谢是提前。
P.S .:我现在的操作方式是更改图标的ѭ0switch属性,以切换到同一图片的另一个(较大)版本(每个图片需要存储两个版本)。但是,我正在使用
setStyle
方法来实现这一点,根据文档本身,这并不是非常好的性能。而且,调整尺寸比加载另一张图片要容易得多,后者只是上一张的旧版本。
解决方法
如果只放大图片一点点,则可以使用一个(较大的)版本(只需在基础位图上设置smoothing = true即可)。这也可以实现从较小版本到较大版本的平滑过渡。手形光标是指示可点击性的好方法,而非常大的按钮看起来很奇怪。
, 这些线程中已经有人问过这个问题
在动作脚本中创建带有图标的按钮
在运行时使用Sprite设置Flex按钮的图标
根据他们的说法,没有合适的解决方案,但是可以通过setStyle()或使用以下代码段来完成任务:
http://blog.benstucki.net/?p=42
另一种方法是使用这样的hack(图像上的透明按钮):
<s:Group width=\"100\" height=\"20\">
<mx:Image source=\"picture_you_need.jpg\" width=\"100%\" height=\"100%\" scaleContent=\"true\" maintainAspectRatio=\"false\"/>
<s:Button id = \"test_button\" width=\"100%\" height=\"100%\" alpha=\"0.0\"}\"/>
</s:Group>