Почему Spark TextArea крошечный, когда установлены Высота и Ширина? - PullRequest
2 голосов
/ 19 июля 2010

Вот моя проблема, довольно очевидная: [img внизу]

Проблема, как вы можете видеть, в том, что текст (высота и ширина) не имеет ничего общего с высотой и шириной компонента (Spark TextArea), который я установил через файл Main.mxml во Flex 4. Это меня бесит, потому что никто не может сказать мне, почему это происходит, или как это исправить.Текст динамически добавляется в TextArea, когда люди отправляют сообщения на сервер, отсюда и строка valueCommit.

Я не понимаю этого, потому что я знаю, что это не ошибка моего сценария fx: Script.Я знаю это, потому что когда я переключаюсь на вкладку «Дизайн» Adobe Flex Builder 4;линии так же запутаны, как на скриншоте.

Я вырвал свои волосы (в переносном смысле) из-за этой проблемы, пожалуйста, помогите мне прийти к ответу.

<!-- State: interface -->
    <s:TextArea id="incomingMessages" includeIn="interface"
        heightInLines="{NaN}" widthInChars="{NaN}"
        y="10" x="9" minWidth="426" minHeight="442"
        text="Connected to Chat Paradise v5.00a, By CharlesBroughton."
        valueCommit="incomingMessages_valueCommitHandler(event)"/>
        <!-- Toolbar -->
        <s:HGroup includeIn="interface" x="10" y="460" width="363" height="22">
            <mx:ColorPicker id="tintColor" selectedColor="#FFFFFF" includeIn="interface"/>
            <s:Label id="curname" height="22" width="100" text="&lt;user&gt;" fontSize="16" includeIn="interface"/>
            <s:CheckBox label="AutoScroll" id="scrollToggle" selected="true"/>
            <s:Button id="clearButton" width="60" height="22" label="Clear" click="incomingMessages.text = &quot;&quot;;"/>
        </s:HGroup>
        <!-- end Toolbar -->
    <s:Button id="sendMessage" width="60" height="22" label="SEND" includeIn="interface" x="375" y="460"/>
    <s:TextArea id="outgoingMessages" x="10" y="480" maxChars="2048" editable="true" width="425" height="50" includeIn="interface" skinClass="graphite.skins.TextAreaSkin"/>
    <s:List id="userlist" x="443" y="10" width="128" height="488" includeIn="interface" itemRenderer="userlistRenderer"/>
    <s:ComboBox includeIn="interface" x="444" y="506" width="127" id="songs" selectedIndex="0"/>
<!-- end State: interface -->

Вот FX: SCRIPT для входящегоMessages_valueCommitHandler (событие), если вам небезразлично:

protected function incomingMessages_valueCommitHandler(event:FlexEvent):void
{
  if (scrollToggle.selected)
   incomingMessages.textDisplay.verticalScrollPosition = incomingMessages.textDisplay.maxHeight;
}

Мне не разрешено публиковать изображения [менее 10 репутаций], поэтому вот ссылка: Ссылка на изображение Отредактировано для включения окружающего кода в соответствии с запросом.Кажется, вы все не понимаете, что текстовое поле принимает размер, который я установил, но текст внутри текстового поля занимает всего 100 пикселей в ширину и максимум от общей площади текстового поля, пожалуйста, проверьтессылка на изображение.

Хорошо, мы нашли проблему, graphite.styles.TextAreaSkin ... ЧТО ДЕЛАТЬ КУРИТЬ?

<s:Scroller id="scroller" left="0" top="0" right="0" bottom="0" minViewportInset="1" measuredSizeIncludesScrollBars="false">
    <s:RichEditableText id="textDisplay"
        lineBreak="toFit"
        textAlign="left"
        selectable="true"
        verticalAlign="top"
        paddingBottom="4"
        paddingTop="4"
        paddingLeft="4"
        paddingRight="4"
        height="125"
        width="125"
        maxWidth="125"
        maxHeight="125"/>
</s:Scroller>

Ответы [ 2 ]

1 голос
/ 29 марта 2012

Как вы сказали, это проблема с графитовой текстовой оболочкой. Я создал новый skinClass для моей текстовой области (на основе графитовой области текста). и заменил скроллер и richeditabletext на текстовые области Spark. И добавил textAlign = "left". И все заработало нормально. Дайте мне знать, если это помогло. Спасибо.

1 голос
/ 19 июля 2010

Какой тип компонента является родительским для вашей TextArea?Не зная ни одного из окружающих mxml, вы можете установить ширину и высоту на 100%.Если это не сработает, опубликуйте еще немного вашего mxml, и мы постараемся выяснить это.Надеюсь, это поможет.

...