Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.09.2011, 14:27
Dimitry_II вне форума Посмотреть профиль Отправить личное сообщение для Dimitry_II Найти все сообщения от Dimitry_II
  № 11  
Ответить с цитированием
Dimitry_II

Регистрация: Jan 2010
Сообщений: 211
Цитата:
Сообщение от trng Посмотреть сообщение
FlowLayout.as - 304 строки кода.
Через TextFlow - 27 строк кода.
И кликать с контролом?
Я бы выбрал вариант с 3004 строками, но чтобы не менять функциональность (тем более мыши!)

P.S. Если убрать ненужные АСДоки, whitespaces и многострочное определение переменных, то у меня получилась 101 строка - весьма сопоставимо с 27-мью строками, но учитывая высокоуровневый подход и нормальную реализацию.
P.P.S. Очень много вещей в этом мире относительны. Мне не хочется лезть в дебри кода, но я допускаю такой момент, что использование TextFlow добавляет в компилируемый файл много сотен кода, увеличивая объем выходящего файла и замедляя его работу. Неоднократно приходилось использовать TextFlow и скажу, что я совершенно не в восторге от этой штуки. Для примера предлагаю сделать на его основе панель логгирования (чат, логи - что угодно) ... после нескольких десятков строк ВСЕ приложение начинает банально тормозить. Поэтому советую при возможности обходить стороной этот TextFlow.

Старый 21.09.2011, 14:28
billion вне форума Посмотреть профиль Отправить личное сообщение для billion Посетить домашнюю страницу billion Найти все сообщения от billion
  № 12  
Ответить с цитированием
billion

Регистрация: Jan 2002
Сообщений: 149
Отправить сообщение для billion с помощью ICQ
вот только упёрся в определение количества строк у TextArea.... по умолчанию оно = 10. Как сделать автоматическое выставление высоты? percentHeight пробовал. У меня получилось только так:
Код AS3:
if (length*(ширина одного символа) > (container.width) ) {
    ta.heightInLines++;
}
Добавлено через 1 минуту
Цитата:
И кликать с контролом?
Я бы выбрал вариант с 3004 строками, но чтобы не менять функциональность (тем более мыши!)
Не-Не! Всё работает с одного клика! оригинальный код от trng не пробовал, а мой вариант работает с одного клика и без всяких доп клавиш!


Последний раз редактировалось billion; 21.09.2011 в 14:32.
Старый 21.09.2011, 14:55
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 13  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
Цитата:
Не-Не! Всё работает с одного клика!
Если ставить editable="false", то не нужно жать ctrl на ссылках:
Код AS3:
<s:TextArea id="ta" x="13" y="16" width="273" height="224" editable="false" />
Добавлено через 20 минут
Цитата:
Сообщение от Dimitry_II Посмотреть сообщение
... P.S. Если убрать ненужные АСДоки, whitespaces и многострочное определение переменных, то у меня получилась 101 строка - весьма сопоставимо с 27-мью строками, но учитывая высокоуровневый подход и нормальную реализацию.
P.P.S. Очень много вещей в этом мире относительны. Мне не хочется лезть в дебри кода, но я допускаю такой момент, что использование TextFlow добавляет в компилируемый файл много сотен кода, увеличивая объем выходящего файла и замедляя его работу. Неоднократно приходилось использовать TextFlow и скажу, что я совершенно не в восторге от этой штуки. Для примера предлагаю сделать на его основе панель логгирования (чат, логи - что угодно) ... после нескольких десятков строк ВСЕ приложение начинает банально тормозить. Поэтому советую при возможности обходить стороной этот TextFlow.
Использование layout это действительно высокоуровневый подход, который, к тому же, "поощряется" адобом через развитые средства работы с ними.

Однако повторюсь - изначальная задача звучит "текстовые ссылки в тексте". Согласитесь TextFlow наиболее подходит для такой постановки задачи.

Кстати, по поводу 101 строки.
101 строка - это только layout, а 27 строк - приложение, уже обеспечивающее нужную функциональность.


Последний раз редактировалось trng; 21.09.2011 в 15:17.
Старый 21.09.2011, 16:51
Dimitry_II вне форума Посмотреть профиль Отправить личное сообщение для Dimitry_II Найти все сообщения от Dimitry_II
  № 14  
Ответить с цитированием
Dimitry_II

Регистрация: Jan 2010
Сообщений: 211
Цитата:
Сообщение от trng Посмотреть сообщение
Однако повторюсь - изначальная задача звучит "текстовые ссылки в тексте". Согласитесь TextFlow наиболее подходит для такой постановки задачи.
Цитирую:
"Необходимо создать некий контейнер, который будет отображать ссылки как текст, точнее как слова в тексте с переходом на новую строчку."
Где здесь "текстовые ссылки в тексте"?

Не буду спорить с тем, что для статики (набор линков) данный вариант может и более подходящий. Но из опыта пользования TextFlow понимаю, что это не лучшая вещь в плане производительности.

Старый 21.09.2011, 17:14
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 15  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Не буду спорить с тем, что для статики (набор линков) данный вариант может и более подходящий.
А я бы поспорил. Для такой простой задачи TextArea слишком избыточен. По производительности несколько Label в лайауте будут в несколько раз быстрее.

Насчет строчек. Я написал этот лайаут полтора года назад и использую до сих пор. Его использование занимает 1 строку.

P.S. billion, trng не используйте вложенные функции где не попадя.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 21.09.2011, 17:57
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 16  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
Цитата:
Сообщение от alatar Посмотреть сообщение
По производительности несколько Label в лайауте будут в несколько раз быстрее.
Label в лайауте быстрее. Согласен.
А как их (лейблы) разбивать по строкам?
(скажем так нужен аналог <br>).

Добавлено через 3 минуты
Идея:
В лейбах добавить некий признак br:boolean
В FlowLayout.updateDisplayList анализировать этот признак где то в районе "if (x + elementWidth > (containerWidth - _paddingRight))"

Как то так?


Последний раз редактировалось trng; 21.09.2011 в 18:01.
Старый 21.09.2011, 18:17
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 17  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Если элементы не влазят в размер родительской группы они будут перенесены на следующую строку.
Цитата:
Идея:
Плохая идея. Layout ничего не должен знать о элементах, кроме того, что они реализуют IVisualElement.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 22.09.2011, 21:06
billion вне форума Посмотреть профиль Отправить личное сообщение для billion Посетить домашнюю страницу billion Найти все сообщения от billion
  № 18  
Ответить с цитированием
billion

Регистрация: Jan 2002
Сообщений: 149
Отправить сообщение для billion с помощью ICQ
возникла задача вытащить из TextFlow текст самой ссылки

id вы вытащили вот так:
Код AS3:
e.flowElement.id
а как вытащить то что между тэгами <a> и </a>?

Старый 22.09.2011, 21:19
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 19  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
Код AS3:
function hrefClick(e:FlowElementMouseEvent):void {
	trace("! ", e.flowElement.id, e.flowElement.getText());
}

Старый 22.09.2011, 21:21
billion вне форума Посмотреть профиль Отправить личное сообщение для billion Посетить домашнюю страницу billion Найти все сообщения от billion
  № 20  
Ответить с цитированием
billion

Регистрация: Jan 2002
Сообщений: 149
Отправить сообщение для billion с помощью ICQ
разобрался

Код AS3:
e.flowElement.getText()
Добавлено через 57 секунд
но всё равно, благодарю за ответ!

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 09:39.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.