标签: flex4

Flex:无法在模式弹出窗口的控件之间切换

重现步骤:

  1. 使用popupmanager创建弹出模式弹出窗口(我的内部是一个带有skinnable容器的组)
  2. 将字段组件(textinputs)放在模态弹出窗口中
  3. 尝试在控件之间切换

Tab切换到模态弹出窗口后面的控件,并忽略模态存在的事实.选项卡循环仅包含模态后面的控件.

我已尝试过将tabChildren设置为hasFocusableChildren的所有内容.我无法实现IFocusManager,因为它的Halo和我的模态是一个Spark组,但是它会以某种身份工作吗?看起来Flex似乎忽略了其焦点管理器中的模态.

apache-flex modal-dialog popup flex4

8
推荐指数
1
解决办法
2009
查看次数

火花标签如何被剥皮?

我想在CSS格式之外添加一些精美的绘图.如何将皮肤贴在Spark标签上?

谢谢

apache-flex flex4

8
推荐指数
1
解决办法
3544
查看次数

Flex 4:状态变化事件

我可以使用Flex 4中的任何事件来检测状态变化吗?

apache-flex actionscript-3 flex4

8
推荐指数
2
解决办法
1万
查看次数

以像素为单位的字符串长度

我正在使用arrayCollection字符串填充dropDownList.我希望下拉列表控件的宽度与数组集合中最长字符串的大小(以像素为单位)匹配.我面临的问题是:集合中字符串的字体宽度不同,例如'W'看起来比'l'宽.所以我估计一个字符的宽度为8像素,但这不是很整洁.如果遇到具有许多"W"和"M"的字符串,则估计是错误的.所以我想要精确的字符串像素宽度.如何获得字符串的确切长度(以像素为单位)?

我的解决方案是将所有字符估计为8像素宽,如下所示:

public function populateDropDownList():void{
    var array:Array = new Array("o","two","three four five six seven eight wwww");
    var sampleArrayCollection:ArrayCollection = new ArrayCollection(array);
    var customDropDownList:DropDownList = new DropDownList();
    customDropDownList.dataProvider=sampleArrayCollection;
    customDropDownList.prompt="Select ...";
    customDropDownList.labelField="Answer Options:";
    //calculating the max width
    var componentWidth=10; //default
    for each(var answerText in array){
     Alert.show("Txt size: "+ answerText.length + " pixels: " + answerText.length*9); 
     if(answerText.length * 8 > componentWidth){
      componentWidth=answerText.length * 8;
     }
    }
    customDropDownList.width=componentWidth;
    answers.addChild(customDropDownList);
   }
Run Code Online (Sandbox Code Playgroud)

任何想法或解决方案都很受重视.

谢谢

string fonts actionscript-3 flex4 drop-down-menu

8
推荐指数
1
解决办法
1万
查看次数

AutoSizing Flex Mobile spark textarea组件

我想让我的移动spark textarea组件包装所有内容.我发现了mx_internal做这个的方法,但是我无法调用mx_internal :: getTextField().numLines方法 - 没有这样的......以前有人这样做了吗?

apache-flex flex4 flex4.5 flex-mobile

8
推荐指数
1
解决办法
1551
查看次数

c ++和actionscript 3之间的通信

是否可以使用任何IPC机制从Adobe Flash actionscript调用c ++ api?有什么好例子吗?

更新:我现在主要想要它用于桌面应用程序,即Adobe的/或任何其他人的桌面运行时

c++ actionscript-3 flex4

7
推荐指数
1
解决办法
6560
查看次数

Actionscript的ExternalInterface.addCallback只在本地工作,而不是在生产中

在我的Flex应用程序中,我需要一个Javascript控件来调用我的一个Actionscript方法.很简单,根据Flex/Actionscript文档,我在我的Actionscript代码中写了这个:

if (ExternalInterface.available)
    ExternalInterface.addCallback("setName", setNameInActiveWindow);
Run Code Online (Sandbox Code Playgroud)

在Javascript控件中我写道:

document.getElementById('FlexAppId').setName(name);
Run Code Online (Sandbox Code Playgroud)

效果很好.完全符合预期,所以我去了生产.但它在生产中不起作用:(.相同的代码......我无法弄清楚.上面的Javascript代码是运行的,但是回调没有在Actionscript代码中执行.

这与域名安全有关吗?在本地,我使用local.mydomain.com:8080,其中local.mydomain.com解析为127.0.0.1(我需要这样做,以便一些小部件正常工作).Flex应用程序来自同一个本地Web服务器.然而,在生产中,它只是www.mydomain.com(mydomain.com不是真正的域名),Flex应用程序来自flash.mydomain.com(CDN).

我在www.mydomain.com上有一个crossdomain.xml文件:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
        <site-control permitted-cross-domain-policies="master-only"/>
        <allow-access-from domain="*.mydomain.com"/>
</cross-domain-policy>
Run Code Online (Sandbox Code Playgroud)

更新:我尝试更改本地环境,以便从flash.mydomain.com引用Flex应用程序,就像在生产中一样.事实证明我在本地也遇到了同样的问题...所以看起来这是某种域安全问题,尽管我上面有crossdomain.xml文件.我是否需要在crossdomain.xml中更改某些内容?我还需要一些额外的ExternalInterface.addCallback工作吗?

更新2:得到它的工作!我不得不这样做既Security.allowDomain("*")Security.allowInsecureDomain("*").将其设置为flash.mydomain.com没有解决问题,我不得不放一个通配符.allowNetworking没有效果.我需要allowScriptAccess="always",但我从那以后就有这个.ExternalInterface.call只需使用该参数即可轻松调用Javascript.但是添加回调ExternalInterface.addCallback需要使用带有通配符的上述安全方法.

apache-flex flash actionscript-3 flex4

7
推荐指数
1
解决办法
4796
查看次数

Spark TextArea或RichText自动调整大小

我已经对这个主题进行了大量的搜索,但似乎我发现它要么已经过时,要么似乎无法正常工作.

使用TextFields,您可以将TextField设置为特定宽度,将wordWrap设置为true,最终会得到一个根据您添加的文本更改高度的文本字段.

现在我试图用Spark TextArea或RichText来做这件事.

我试过这个HeightInLines = NAN,但这似乎已经过时了.

我也试过这个例程:

var totalHeight:uint = 10;
this.validateNow();
var noOfLines:int = this.mx_internal::getTextField().numLines;
for (var i:int = 0; i < noOfLines; i++) 
{
     var textLineHeight:int = 
                     this.mx_internal::getTextField().getLineMetrics(i).height;
     totalHeight += textLineHeight;
}
this.height = totalHeight;
Run Code Online (Sandbox Code Playgroud)

但是mx_internal不在Spark组件中.

我试图用AS3,而不是MXML.如果有人有任何建议或链接可以帮助我使用AS3解决这个问题,我真的很感激.

apache-flex textarea richtext flex4

7
推荐指数
1
解决办法
6968
查看次数

如何使用Flexmojos设置主题?

使用flexmojos进行编译时,我收到警告:

[警告]该部分或任何scope ="theme"依赖项中未明确定义任何主题.Flexmojos现在正试图找出要包含的主题.(为了避免此警告,您应该明确说明您的主题依赖项)

[警告]添加spark.css主题是因为s​​park.swc作为依赖项包含在内

我试过添加:

<dependency>
    <groupId>com.adobe.flex.framework</groupId>
    <artifactId>spark</artifactId>
    <type>swc</type>
    <scope>theme</scope>
    <version>${flex.sdk.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

但我只是得到一个错误:

com.adobe.flex.framework:spark:swc必须是[compile,runtime,system]之一,但是'theme'

我只想使用标准的Spark主题.

谢谢

apache-flex flexmojos flex-mojos flex4

7
推荐指数
1
解决办法
3782
查看次数

Flex 4.10新功能

我已经使用新的Apache Flex SDK安装程序为Flash Builder 4.7安装了Flex 4.10.0 SDK(同时尝试了MacOS和Windows),并且非常喜欢它的工作流程:

在此输入图像描述

另外,我很兴奋有人还在使用Flex SDK(谢谢!) - 因为很长一段时间它看起来都被抛弃了.

我的3个问题:

  1. 有没有人有一个(据说超过十五?)新Spark组件的列表?我只注意到一个沙发:mx.controls.Alert- > spark.components.Alert.(而且我注意到spark.utils.MultiDPIBitmapSource支持source480dpi很棒).

  2. 有没有人知道,如果有一个修复spark.components.List不记得它的滚动位置?因为目前在我的Flex游戏中,服务器更新了2个列表,我必须使用自定义皮肤和数据组,如此好博客中所述.

  3. 目前要滚动spark.components.List到底部我必须使用以下hack并想知道是否已经接近该问题?

    public static function scrollToBottom(list:List):void {
        // update the verticalScrollPosition to the end of the List
        // virtual layout may require us to validate a few times
        var delta:Number = 0;
        var count:int = 0;
    
        while (count++ < 10) {
            list.validateNow();
            delta = list.layout.getVerticalScrollPositionDelta(NavigationUnit.END);
            list.layout.verticalScrollPosition …
    Run Code Online (Sandbox Code Playgroud)

apache-flex list flash-builder flex4

7
推荐指数
1
解决办法
1867
查看次数