как получить текстовый контроль Flex к переходу на новую строку

hosts0 = open("C:path\\a.txt","r")
hosts1 = open("C:path\\b.txt","r")

lines1 = hosts0.readlines()

for i,lines2 in enumerate(hosts1):
    if lines2 != lines1[i]:
        print "line ", i, " in hosts1 is different \n"
        print lines2
    else:
        print "same"

Этот код работает для меня. Не могли бы вы указать, с какой ошибкой вы столкнулись?

33
задан rmeador 11 February 2009 в 18:44
поделиться

7 ответов

У меня была эта та же проблема. В моем случае у меня был mx:Text блок (который ДОЛЖЕН был перенестись), и что объект mx:Text был встроен в ДВУХ mx:VBox контейнерах.

единственный способ, которым я заставил текст переноситься успешно, состоял в том, чтобы сделать ОБА из следующего:

  1. помещает 'ширину = "100%-е"' свойство в КАЖДЫЙ контейнер VBox (в котором mx:text находился).
  2. помещает 'ширину = "100%-е"' свойство в КАЖДЫЙ объект mx:Text (нахождение в рамках этого вложения VBox's)

Очень неинтуитивный, но это - то, что работало на меня.

я надеюсь, что это помогает Вам!

Jon Kinsting

25
ответ дан 27 November 2019 в 19:32
поделиться

Ширины процента и высоты на самом деле решают к их пиксельным эквивалентам, так использование их должно достигнуть обертывания и родственника, измеряющего, Вы ищете. Например:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%">
    <mx:Text width="100%" height="100%" text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." />
</mx:Application>

Таким образом, если существует установка width любого вида, родственник, измеряющий (явное число, процент, привязка на основе ограничений - например, вершина, право, нижняя часть, покинутая - и т.д.), должен заставить текст переноситься естественно. Это приближается не, работают с расположением, которое Вы используете? Без некоторого кода трудно сказать, но Вы правы - обертывание действительно требует установки связанного с шириной свойства на контейнере.

Изменение размеров и обертывание могут быть немного хитрыми, тем не менее, в зависимости от контекста, поэтому если Вы находите, что это не работает, пытается отправить некоторый код - я уверен, что из нас сможет помочь Вам понять это.

5
ответ дан 27 November 2019 в 19:32
поделиться

Вы могли попытаться добавить обработчик событий к родительскому узлу для Event.RESIZE, и назовите Текстовый объект validateNow() метод. (Возможно, предшествовавший invalidateSize() звонить.), Почему этого не происходит автоматически, я не могу сказать.

0
ответ дан 27 November 2019 в 19:32
поделиться

I think applying VBox width = "100%" and Text width = "100%" is the simplest way. Note: if Text is dynamically generated, don't forget to do text.percentWidth = 100

0
ответ дан 27 November 2019 в 19:32
поделиться

Итак, пример Кристиана простого приложения с элементом текста внутри работает, но слишком легко испортить макет. Просто добавьте один VBox между ними, и упаковка не работает:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%">
<mx:VBox width="100%">
    <mx:Text width="100%" height="100%" text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." />    
</mx:VBox>
</mx:Application>
0
ответ дан 27 November 2019 в 19:32
поделиться
render="invalidateSize();validateNow();
'component id'.mx_internal::getTextField().wordWrap=true"

добавьте это к вашему текстовому компоненту.

-5
ответ дан 27 November 2019 в 19:32
поделиться

Если вы пытаетесь заставить текст работать внутри MXML-компонента, попробуйте следующее:

<mx:Text id="testText"  
  width="{ this.width }"
  height="100%"   
  text="Your text here" />

Вы в основном устанавливаете ширину в ширину компонента, а высоту в 100%, что позволит ему правильно обернуться при уменьшении размера.

4
ответ дан 27 November 2019 в 19:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: