使用FB4,我想改变一个开放的火花DropDownList的高度.默认情况下,它在滚动前最多显示6个项目.我的下拉列表包含7个项目,因此我想更改打开的下拉列表的高度以适应所有7项而不滚动.作为一种解决方法,我已经改变了项目的字体大小,使它们更小,所有7都适合,但较小的字体看起来不太好.有没有办法改变这个高度?我对Flash很新,所以如果它是一个复杂的解决方案,请详细说明:-).
我正在构建一个包含多个模块的大型Flex项目(一个生成多个SWF的Flex项目)
现在,我有一个css文件,被加载到主SWF标签中:
<s:Application ... >
<fx:Style source="css/main.css" />
...
</s:Application>
Run Code Online (Sandbox Code Playgroud)
在CSS文件中:
/* CSS file */
@namespace s "library://ns.adobe.com/flex/spark";
s|Panel {
skinClass: ClassReference("com.skins.DefaultPanelSkin");
}
s|Button {
skinClass: ClassReference("com.skins.DefaultButtonSkin");
}
Run Code Online (Sandbox Code Playgroud)
CSS文件不会在其他任何地方引用.
我目前有6个模块(加上主SWF,总共7个SWF).我注意到警告的数量与模块的数量有关......每次添加模块时,我都会收到更多警告.现在,我对CSS文件中的每个条目都收到6个警告,所以:
CSS type selectors are not supported in components: 'Panel'
CSS type selectors are not supported in components: 'Panel'
CSS type selectors are not supported in components: 'Panel'
CSS type selectors are not supported in components: 'Panel'
CSS type selectors are not supported in components: 'Panel'
CSS type selectors are not …Run Code Online (Sandbox Code Playgroud) 有没有办法改变火花形式项目及其内容(textinput,conbobox)之间的空间?我已经将表单的"gap"属性设置为0,但表单输入之间仍然留有很多垂直空间.
我最近将一些项目迁移到了闪亮的新Flex 4.6 SDK.我并没有期待太多麻烦,因为它只是一个小小的释放.但事实上,我到处都收到了数百个错误.这些错误主要来自Spark SkinnableComponent; 例如:
override protected function getCurrentSkinState():String {
return mySkinPart.someProperty ? "normal" : "someOtherState";
}
Run Code Online (Sandbox Code Playgroud)
会在4.5下工作得很好,但会nullpointer在4.6中给我一个错误.原因很简单:在getCurrentSkinState()创建skinpart之前调用4.6 ,而在4.5中我可以确定处于默认状态的skinpart会在那里.
进一步的调查让我相信Skin的初始状态现在undefined而不是States数组中的第一个状态(直到它调用getCurrentSkinState()它为止).
解决这些问题通常非常简单,而且需要我的防守编程.但这不是我真正的问题.
真正的问题是,如果组件的生命周期发生了变化,我想知道到底是什么改变了我的项目的哪些部分可能会受到影响.
如果有人能够对此有所了解或者至少将我指向正确的地方,我可以阅读所有相关信息,我将非常感激(因为我能找到的唯一发行说明仅涵盖新的移动组件).
编辑(这不会改变问题;我只是想与你分享我的发现)
我遇到的另一个问题是:dynamic修饰符似乎不再被子类继承.这是一个纯粹的ActionScript问题,所以我猜这是编译器以不同的方式对待它.
让我解释.考虑这个课程:
public class MyClass extends Array { }
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试将新项目推送到此自定义数组中,如下所示:
var t:Array = new MyClass();
t.push("hello");
Run Code Online (Sandbox Code Playgroud)
显然这是因为Array是动态的而MyClass不是,所以它很容易修复:
public dynamic class MyClass extends Array { }
Run Code Online (Sandbox Code Playgroud)
并且错误消失了.
但是,如果我使用的第三方库具有这样的代码并且我没有源代码访问权限呢?我的应用程序会破坏,我无法修复它.我的意思是:来吧,点发布并没有什么小变化.
我正在尝试做一个简单的CSS声明.但是,我上面有警告,不知道如何解决.我认为s |(类型)应该为我声明样式.
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
s|TextInput{
color:#313131;
}
</fx:Style>
<s:Panel width="600" height="480" skinClass="skins.CustomPanel">
<s:layout>
<s:VerticalLayout paddingTop="7"/>
</s:layout>
<s:TextInput text="TextInput CSS not working"/>
<mx:Form>
<mx:FormHeading label="Please Enter The Information"/>
<s:HGroup>
<mx:FormItem>
<s:Label text="Brand"/>
<s:TextInput id="brand" text="CSS not working" width="156"/>
</mx:FormItem>
</mx:form>
Run Code Online (Sandbox Code Playgroud) 我使用Flex 2/3已经有几年了,刚刚回到它,升级到Flex 4.我看到一些Halo和Spark主题的参考但我从未在我以前的工作中涉及主题所以我是一个有点困惑正在发生什么.我是否认为Halo是默认主题,还是全新的?
另外,我使用了一个简单的Flex 3 MXML并尝试在Flex4中使用它:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
layout="absolute" borderStyle="none" borderColor="#000000" cornerRadius="0"
backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#000000, #FF0000]"
width="800" height="600"
frameRate="20">
</mx:Application>
Run Code Online (Sandbox Code Playgroud)
但是我得到错误,比如" 错误:样式'backgroundGradientColors'仅受'mx.core.Application'类型支持,主题为'halo'. "
我尝试了一些东西,但每个都引入了自己的错误.
我在spark标签中显示数据.现在我发现用户无法选择和复制显示的文本.文档没有显示需要做什么(mx.Label允许这样做,但火花标签没有).
那么解决方案是什么?如何允许用户选择和复制屏幕上显示的数据?
我有一个扩展Spark列表的组件,当我使用鼠标滚轮滚动时,它一次滚动太多.我试图在List类和VerticalLayout类中寻找处理鼠标滚轮滚动的处理程序来覆盖,但我找不到它.
还有其他方式我应该改变这个,或者我错过了什么?
使用mx:HRule或mx:VRule时,Flash Builder建议使用s:Line代替.为什么我要写这样的东西:
<s:Line xFrom="0" xTo="245" yFrom="0" yTo="1"/>
Run Code Online (Sandbox Code Playgroud)
代替
<mx:Hrule width="100%" />
Run Code Online (Sandbox Code Playgroud)
我如何获得相对尺寸?(百分)
在Flex 4中,parentApplication和之间有什么区别FlexGlobals.topLevelApplication吗?是指同一顶级应用程序?
我认为两者都是一样的; one(parentApplication)属于Spark,另一个(FlexGlobals.topLevelApplication)属于Halo.我的理解是否正确?
flex-spark ×10
apache-flex ×9
flex4 ×3
css ×2
halo ×2
components ×1
flex-mx ×1
forms ×1
height ×1
label ×1
lifecycle ×1
list ×1
mousewheel ×1
rowcount ×1
scroll ×1
selection ×1
text ×1
types ×1
warnings ×1