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

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

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

Регистрация: Feb 2010
Сообщений: 56
По умолчанию mx:TextArea обрезает текст

При чем в s:TextArea текст не обрезается.
(Первый - spark, второй - mx).



Казалось бы: проблема решается тем, что можно использовать s:TextArea, но дело в том, что шрифты подгружаются c embed-as-cff=false рантаймно как swf.

В итого получается вопрос - два в одном:
1) как сделать чтоб mx:TextArea не обрезало текст?
или
2) можно ли в s:TextArea отображать шрифты с embed-as-cff=false?

Старый 15.01.2013, 10:59
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 2  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Можно попробовать для текстфилда просто отступы побольше поставить:
Код AS3:
paddingLeft="0"
paddingRight="0"
Че-то умнее сказать не смогу
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 17.01.2013, 12:29
GrMerlin вне форума Посмотреть профиль Отправить личное сообщение для GrMerlin Найти все сообщения от GrMerlin
  № 3  
Ответить с цитированием
GrMerlin

Регистрация: Feb 2010
Сообщений: 56
Решение вроде-бы ничего. Я пробовал так делать. Написал наследника mx:TaxtArea, в нем поставил сэттеры на textOffset, в которых я делаю
Код AS1/AS2:
_textOffset = value;
setStyle("paddingLeft", value);
setStyle("paddingRight", value);
далее переопределил метод updateDisplayList
Код AS1/AS2:
override protected function updateDisplayList(unscaledWidth : Number, unscaledHeight : Number) : void {
     super.updateDisplayList(unscaledWidth, unscaledHeight);
 
     var vm:EdgeMetrics = viewMetrics;
     textField.move(vm.left - _textOffset, vm.top);
     //increase viewMetrics width by textOffset*2
     var w:Number = unscaledWidth - vm.left - vm.right + _textOffset*2;
     var h:Number = unscaledHeight - vm.top - vm.bottom;
 
     // If there's a border, add another line of pixels to the textField
     // that go under the border but allow for descenders on some fonts.
     if (vm.top + vm.bottom > 0)
          h++;
 
     // maxScrollV doesnt get proper value if width < 4
     textField.setActualSize(Math.max(4, w), Math.max(4, h));
}
Еще нужно не забыть про
Код AS1/AS2:
textField.ignorePadding = false;

По большому счету этот метод на 90% дублирует метод updateDisplayList в mx:TextArea кроме маленькой особенности: двигается textField на величину паддинга для того, чтоб визуально начало строки было там где и положено ему быть.
В таком случае текст не обрезается, но фактически сам textField получается больше области, в которой отображается текст и в итоге кликабельная область становится шире. Хотелось бы, конечно, чтоб те клики, которые визуально попадают за граничу TextArea не ловились этим компонентом. Т.е. структура, типа:
Код AS1/AS2:
<s:Group>
     <s:BorderContainer/>
     <local:AdvancedTextArea/>
</s:Group>
s:BorderContainer ловил клики если пользователь кликнул рядом с текстом (но попал в зону паддинга).

Старый 17.01.2013, 12:36
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 4  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Как-то сложно всё получается...
Ну если продолжить крутить костыли то еще одним может быть hitArea - это свойство спрайта либо дисплейобжекта, не помню. Можно наложить на текстфилд такую штуку.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 17.01.2013, 12:45
GrMerlin вне форума Посмотреть профиль Отправить личное сообщение для GrMerlin Найти все сообщения от GrMerlin
  № 5  
Ответить с цитированием
GrMerlin

Регистрация: Feb 2010
Сообщений: 56
Тоже пробовал. В таком случаю TextArea ловит клики где нужно, но не пропускает по-краям.

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

Теги
embed-as-cff , обрезает текст

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

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


 


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


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