Текстовая область
01.01.2017
Текстовые элементы служат для отображения однострочного или многострочного текста без возможности его редактирования. Это можно использовать для вывода надписей и ведения журнала логов. Текстовой элемент может взаимодействавать с пользователем, что позволяет использовать его в качестве элемента управления и создания простых списков.
Для создания текстовых элементов используется конструктор CreateText:
app.CreateText( str text, float width, float height, ([str]) options )
Параметры:
- text - текст надписи
- width - ширина текстовой области
- height - высота текстовой области
- options:
- Опции выравнивания текста внутри области:
- Left – по левому краю
- Right – по правому краю
- Опции управления размером:
- AutoScale – автомасштаб шрифта для подгонки по размеру текстовой области
- Опции оформление надписи:
- Bold – жирное начертание
- FontAwesome – разрешает использовать пиктограммы в надписи
- Html – разрешает использовать следующие теги в надписи:
- <a href="...">
- <img src="...">
- <font color="..." face="...">
- <b>, <u>, <i>, <strong>, <tt>
- <small>, <big>
- <br>
- <div>, <p>
- <h1>, <h2>, <h3>, <h4>, <h5>, <h6>
- <sub>, <sup>
- Lego - оформление в стиле Лего
- Monospace - моноширинный шрифт
- Multiline - разрешает переносы в тексте
- Nowrap - запрещает перенос текста, при его выходе за границы элемента
- Опции действий
- Link - разрешает переход по ссылкам в содержании
- Log - задаёт режим вывода логов - multiline, left, nowrap
- TouchThrough - пропускает события касания сквозь себя, что позволяет их обрабатывать элементами, находящимися под надписью
Тект по умолчанию имеет прозрачный фон.
Базовый пример
Выполнить в DS
Методы:
- GetHtml():str - возвращает текст с тегами
Выполнить в DS
app.ShowPopup( myObject.GetHtml() );
- GetLineCount():float - возвращает количество строк
Выполнить в DS
app.ShowPopup( myObject.GetLineCount() );
- GetLineStart( int line ):float - возвращает номер первого символа строки с заданным номером
Выполнить в DS
app.ShowPopup( myObject.GetLineStart(1) );
- GetLineTop( int line ):float - возвращает смещение строки с заданным номером от верхнего края
Выполнить в DS
app.ShowPopup( myObject.GetLineTop(1) );
- GetMaxLines():float - возвращает количество строк
Выполнить в DS
app.ShowPopup( myObject.GetMaxLines() );
- GetText():str - возвращает текст надписи
Выполнить в DS
app.ShowPopup( myObject.GetText() );
- GetTextSize( ('px','dip','sp','mm', 'pt') mode ):float - возвращает размер шрифта надписи в заданных единицах
Выполнить в DS
app.ShowPopup( myObject.GetTextSize( 'sp' ) );
- GetType():str - возвращает тип объекта
Выполнить в DS
app.ShowPopup( myObject.GetType() );
- Log( str msg, [(str)] options ) - записывает текст события (лог) заданного цвета ('clear', 'red', 'green', 'blue')
Выполнить в DS
myObject.Log( 'Ошибка при открытии файла', 'red' );
- SetEllipsize( (str) mode ) - задаёт режим отображения текста, если он не поместился в поле надписи. Устанавливает многоточие в начале, середине или конце надписи ('start', ''middle', 'end')
Выполнить в DS
myObject.SetEllipsize( 'start' );
- SetFontFile( str file ) - задаёт файл шрифта
Выполнить в DS
myObject.SetFontFile ( '/system/fonts/clockopia.ttf' );
- SetHtml( str html ) - устанавливает текст надписи с тегами
Выполнить в DS
myObject.SetHtml( '<u>Это</u> <i>текст<i>' );
- SetLog( int maxLines ) - задаёт максимальное количество строк для записи событий (логировании)
Выполнить в DS
myObject.SetLog( 10 );
- SetOnLongTouch( callback ) - задаёт ФОВ для обработки долгого касания
Выполнить в DS
myObject.SetOnLongTouch( function(){ app.ShowPopup( 'Долгое касание' ); });
- SetOnTouch( callback{} ) - задаёт ФОВ для обработки короткого прикосновения. Система передаёт данной функции объект:
- {} source - объект-источник события
- str action - действие 'Down', 'Move' или 'Up'
- int count - количество одновременных касаний (пальцами)
- float X - горизонтальная координата касания (первого пальца)
- float Y - вертикальная координата касания (первого пальца)
- [float] x - горизонтальные коордиаты касаний
- [float] y - вертикальные координаты касаний
Выполнить в DS
myObject.SetOnTouch( function( p_e ){ app.ShowPopup( p_e.source + ' - ' + p_e.action ); });
- SetOnTouchDown( callback ) - задаёт ФОВ для обработки касания
Выполнить в DS
myObject.SetOnTouchDown( function(){ app.ShowPopup( 'Короткое касание' ); });
- SetOnTouchMove( callback ) - задаёт ФОВ для обработки перемещения
Выполнить в DS
myObject.SetOnTouchMove( function(){ app.ShowPopup( 'Перемещаем палец' ); });
- SetOnTouchUp( callback ) - задаёт ФОВ для обработки отпускания
Выполнить в DS
myObject.SetOnTouchUp( function(){ app.ShowPopup( 'Отпустили палец' ); });
- SetText( str text ) - устанавливает текст надписи
Выполнить в DS
myObject.SetText( 'Это текст' );
- SetTextColor( str clr ) - задаёт цвет надписи
Выполнить в DS
myObject.SetTextColor( 'yellow' );
- SetTextShadow( int radius, int dx, int dy, str color ) - задаёт тень надписи заданного радиуса действия, смещения и цвета
Выполнить в DS
myObject.SetTextShadow( 1, 2, 2, '#ff000000' );
- SetTextSize( float size, ('px','dip','sp','mm', 'pt') mode ) - задаёт размер шрифта надписи
Выполнить в DS
myObject.SetTextSize( 20, 'mm' );
- SetTouchable( bool touchable ) - запрещает/разрешает реакцию на прикосновения
Выполнить в DS
myObject.SetTouchable( false );