сделать textEdit заполнить ширину в Flex 4.5 - PullRequest
1 голос
/ 01 ноября 2011

как мне создать компонент во Flex 4.5 (используя его для android ..), у которого есть textInput и справа от него кнопка, так что кнопка имеет фиксированный размер, а textInput расширяется, чтобы заполнить оставшееся пространство родительского элемента компонента?

это компонент ..

<s:HGroup>
    <s:TextInput width="????"/>
    <s:Button width="37" height="37" />
</s:HGroup>

конечно, я не знаю, что указать в ширине ... я должен также указать ширину для HGroup?

Ответы [ 4 ]

1 голос
/ 31 января 2013

Flex определяет относительные размеры на основе родительского элемента дочернего элемента.

Если вы не задаете ширину родительской группы, TextInput не имеет представления о том, что он должен заполнять до 100%.

<s:HGroup width="100%">
    <s:TextInput width="100%"/>
    <s:Button width="37" height="37" />
</s:HGroup>

В качестве примечания в ответ на «установите их оба на 100%» ответы.Flex позволит вам установить более одного процента ширины до 100%.2 будет одинаково взвешенным.SO

<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 будет вдвое шире, чем кнопка

Если вы хотите установить высоту и ширину в процентах на основе ActionSript вместо MXML, вам нужно сказать textInput.percentWidth = 100;

0 голосов
/ 01 ноября 2011

Попробуйте это:

   <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()" />
0 голосов
/ 01 ноября 2011

Установите ширину HGroup и TextInput на 100%.

Если вы не укажете 100% ширину в HGroup, тогда ему будет присвоена статическая ширина по умолчанию, которая может быть шире, чем ширина вашего экрана.

<s:HGroup width="100%">
    <s:TextInput width="100%" />
    <s:Button width="37" height="37" />
</s:HGroup>
0 голосов
/ 01 ноября 2011
<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% .., что может быть проблемой.

РЕДАКТИРОВАТЬ:

просто получить размеры экрана в вашем приложении .. Вот ссылка на вопрос .. Как получить размеры экрана и здесь

...