【发布时间】:2016-02-15 20:17:56
【问题描述】:
在我的一个组件中,我想要一些完全不透明的控件。有没有办法在 Flex 中关闭透明度?我的意思是,如果父容器中有多个控件,那么其中一个根本不透明。
如果我们设置更高的 alpha 值,则始终存在一定程度的透明度。如果“非透明”容器内的组件需要某种程度的透明度,这会使情况复杂化。
添加示例代码:
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
alpha=".4" >
<s:layout>
<s:VerticalLayout verticalAlign="middle" horizontalAlign="center" gap="0"/>
</s:layout>
<!-- following container should not be transparent -->
<s:BorderContainer width="90%" height="20%" backgroundColor="white">
</s:BorderContainer>
<s:Group width="90%" height="80%">
<s:BorderContainer width="100%" height="100%" alpha="1">
</s:BorderContainer>
</s:Group>
</s:Group>
【问题讨论】:
-
如果一切都失败了......只需创建自己的用户界面(添加 AS3 形状甚至加载 PNG 文件?)然后您可以通过代码控制每个项目以响应用户拖动、单击等此外,由于您的代码知道您添加到舞台(显示列表)的各个项目,您可以使用它来影响各个透明度等。
-
这是我最后不得不使用的选项,虽然我一点也不喜欢它。需要能够设置具有透明子代的不透明子代。
-
然后使用
addChild将MovieClip或Sprite变量声明为内容容器。所以现在你可以尝试..mc_Opaque.addChild( mc_Trans );并更改 mc_Trans 的 alpha(在 mc_Opaque 内部)它变成像mc_Opaque.mc_Trans.alpha = 0.4;
标签: actionscript-3 apache-flex actionscript flex4.5 mxml