Вот моя проблема, довольно очевидная: [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="<user>" 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 = "";"/>
</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>