透明控件(透明容器中的非透明控件)

Posted

技术标签:

【中文标题】透明控件(透明容器中的非透明控件)【英文标题】:Transparency control (Non transparent control in transparent container) 【发布时间】: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   backgroundColor="white">

</s:BorderContainer>
<s:Group  >
    <s:BorderContainer   alpha="1">

    </s:BorderContainer>
</s:Group>
</s:Group>

【问题讨论】:

如果一切都失败了......只需创建自己的用户界面(添加 AS3 形状甚至加载 PNG 文件?)然后您可以通过代码控制每个项目以响应用户拖动、单击等此外,由于您的代码知道您添加到舞台(显示列表)的各个项目,您可以使用它来影响各个透明度等。 这是我最后不得不使用的选项,虽然我一点也不喜欢它。需要能够设置具有透明子代的不透明子代。 然后使用addChildMovieClipSprite 变量声明为内容容器。所以现在你可以尝试.. mc_Opaque.addChild( mc_Trans ); 并更改 mc_Trans 的 alpha(在 mc_Opaque 内部)它变成像 mc_Opaque.mc_Trans.alpha = 0.4; 【参考方案1】:

很遗憾,您的要求是不可能的。相反,您可以设置父级的透明度,只根据需要设置所需子级的透明度。

【讨论】:

以上是关于透明控件(透明容器中的非透明控件)的主要内容,如果未能解决你的问题,请参考以下文章

vb中怎样设置窗体中的控件为透明

C# WinForm 透明控件 PictureBox透明

有没有办法使控件对 WPF 中的鼠标事件透明?

CFromView视图中的Static text控件透明

Visual Studio2005中的标签能设置成透明背景吗

WPF:如何使用透明画布和可点击子项制作覆盖控件