如何在Flex 4.5中创建一个组件(使用它为android ..),它有一个textInput,右边是一个按钮,这样按钮的大小固定,textInput扩展为填充父级的剩余空间组件?
这是组件..
<s:HGroup>
<s:TextInput width="????"/>
<s:Button width="37" height="37" />
</s:HGroup>
当然我不知道放在宽度上的内容..我还应该为HGroup指定宽度吗?
答案 0 :(得分:0)
<s:HGroup width="100%">
<s:TextInput width="width" />
<s:Button width="37" />
</s:Group>
这里
width = [[android screen width (or group width) - 37 ] / android screen width (or group width) ] * 100
它的百分比..
或尝试将两者设置为100%
..这可能是问题。
修改强>
只需在您的应用中获取您的屏幕尺寸..这是问题的链接.. How to get screen dimensions和here
答案 1 :(得分:0)
试试这个:
<fx:Script>
<![CDATA[
import spark.components.Button;
private function onCreate():void
{
var yourButton:Button = new Button();
yourButton.width = 37;
yourButton.x = 10;
yourButton.y = 100;
text.addChild(yourButton);
}
]]>
</fx:Script>
<s:TextInput borderVisible="true" id="text" height="100%" width="100%" creationComplete="onCreate()" />
答案 2 :(得分:0)
将HGroup
和TextInput
的宽度设置为100%。
如果您未在HGroup
上指定100%宽度,则会为其指定一个默认的静态宽度,该宽度可能比屏幕宽度宽。
<s:HGroup width="100%">
<s:TextInput width="100%" />
<s:Button width="37" height="37" />
</s:HGroup>
答案 3 :(得分:0)
Flex根据孩子的父母确定相对大小。
如果你没有给父组一个宽度,那么TextInput就不知道它应该填充到100%。
<s:HGroup width="100%">
<s:TextInput width="100%"/>
<s:Button width="37" height="37" />
</s:HGroup>
作为回应“将它们设置为100%”答案的旁注。 Flex允许您将多个百分比宽度设置为100%。 2最终将被加权。那么
<s:HGroup width="100%">
<s:TextInput width="100%"/>
<s:Button width="100%"/>
</s:HGroup>
将导致2个组件占据屏幕的一半。
<s:HGroup width="100%">
<s:TextInput width="200%"/>
<s:Button width="100%"/>
</s:HGroup>
将导致TextInput的宽度是Button
的两倍如果您想从ActionSript而不是MXML设置基于高度和宽度的百分比,您需要说textInput.percentWidth = 100;