简体   繁体   English

从Flex3迁移到Flex4时,CollapsibleAccordion标签不可见

[英]CollapsibleAccordion label not visible problem when migrated from Flex3 to Flex4

The CollapsibleAccordion. 可折叠手风琴。 I have two canvas inside the CollapsibleAccordion, and everything works fine, but the only problem is that i am unable to see the labels when I migrated my code to Flex4 from Flex3. 我在CollapsibleAccordion内部有两个画布,并且一切正常,但是唯一的问题是,当我将代码从Flex3迁移到Flex4时,我看不到标签。

The code for this problem is below: 此问题的代码如下:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"                
            xmlns:cal="cal.*"
            layout="absolute"
            addedToStage="stage_init()"
applicationComplete="init()"                            
        xmlns:geometry="com.degrafa.geometry.*"
        xmlns:degrafa="com.degrafa.*"
        xmlns:paint="com.degrafa.paint.*"
        xmlns:containers="flexlib.containers.*"
        xmlns:flexlib_controls="flexlib.controls.*"
        xmlns:mdi_containers="flexlib.mdi.containers.*"
        xmlns:auto="com.hillelcoren.components.*" 
        xmlns:local="*" backgroundColor="#f7fafe" backgroundGradientColors="[#f7fafe, #6caaeb]"
        xmlns:components="CollapsibleAccordion.*"
        xmlns:notifications="c7.views.components.notifications.*"
        xmlns:dbview="c7.views.apps.dashboard.*"
        modalTransparency="0.8" preloader="c7.views.components.Pre"
        modalTransparencyColor="0x000000" verticalScrollPolicy="auto"
        backgroundSize="100%"               
        xmlns:components1="c7.views.components.*" 
        xmlns:notification="c7.views.components.notification.*" 
        xmlns:news="c7.views.components.news.*">    
    <mdi_containers:MDICanvas id="mdic" horizontalScrollPolicy="off" verticalScrollPolicy="off"
        visible="{!GlobalModel.getInstance().dashboard_mode}"
         minWidth="{top_bar.width}"
        width="100%" height="100%" top="{top_bar.height}" backgroundAlpha="0">                              
       <mx:Canvas id="cvs_widget_bar" right="0" top="0" height="100%">
            <components:CollapsibleAccordion id="collapsibleAccordion1" height="100%" top="0" right="0"
                orientation="left" barSize="30" currentWidth="30" openSize="150"
                drawerButtonStyle="drawerButton" closeButtonStyle="drawerCloseRight" accordianStyle="drawerAccordion">
                <mx:Canvas width="100%" top="0" right="0" height="100%" label="Widget Bar">

                </mx:Canvas>
                <mx:Canvas width="100%" height="100%" label="Feedback" icon="{IconUtility.getClass(cvs_comment,'assets/cloud_main/images/article-48x48.png')}"
                    id="cvs_comment" top="0" right="0">

                </mx:Canvas>
            </components:CollapsibleAccordion>
        </mx:Canvas>    

If you need anymore clarification or have some thing to ask, let me know 如果您需要进一步说明或有什么要问的,请告诉我

Thanks in advance Zeeshan 在此先感谢Zeeshan

I guess you are using an embedded font for your accordion header.If so,include this in your CSS. 我想您正在为手风琴标题使用嵌入式字体。如果是,请将其包含在CSS中。

mx|AccordionHeader
{
    textFieldClass: ClassReference("mx.core.UIFTETextField");
}

Refer this link for more details 请参阅此链接以获取更多详细信息

Spark components use FTE and TLF classes(both introduced in FP 10) for text rendering.Where as mx components use TextField for text rendering.If we do not use any embedded fonts in your application,this will not create any conflicts with mx components.But if we use embedded fonts we will have to embed the fonts twice,for it to work with mx components-embed with embedAsCFF="false"(for mx) and with embedAsCFF="true"(for spark ).But embedding the same font twice is not advisable since it adds to the total size of application swf(But if I remember correctly,even this did not work for me).So what we do is,for mx components we explicitly tell which class from the FTE and TLF package to be used for text rendering.For more details on which class to use for which component,refer the above link. Spark组件使用FTE和TLF类(均在FP 10中引入)进行文本渲染。而mx组件使用TextField进行文本渲染。如果我们在您的应用程序中不使用任何嵌入式字体,则不会与mx组件产生任何冲突。但是,如果我们使用嵌入字体,则必须将字体嵌入两次,才能与mx组件一起工作-嵌入embedAsCFF =“ false”(对于mx)和embedAsCFF =“ true”(对于spark)。但是嵌入相同的字体不建议使用两次字体,因为它会增加应用程序swf的总大小(但是,如果我没记错,即使这对我也不起作用)。所以我们要做的是,对于mx组件,我们明确地告诉FTE和TLF中的哪个类用于文本渲染的包。有关用于哪个组件的哪个类的更多详细信息,请参见上面的链接。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM