Конкатенация атрибутов с несколькими тематическими классами в приложении SD

Я создаю SD-приложение в GX Ev3 и работаю над списком. Я столкнулся с требованием для приложения и не знаю, как это сделать.

Я должен объединить некоторые атрибуты в строке, но один из них (&Status) должен быть полужирным шрифтом.

& Status + ', por' + & User + 'em' + & Date

Возможные результаты:

  • 'OK, por User1 em 01/07/2014'
  • 'Com Problema # 5, por User2 em 01/07/2014'
  • 'Por validar, por User3 em 01/07/2014'

Как я могу это сделать, чтобы он выглядел как непрерывный текст?

3 ответа

Решение

Вы можете сделать это с помощью переменной, основанной на Html домен, и используя форматирование HTML для значения (т.е. "<b>OK</b>, por ...").

Это создаст WebView для отображения текста, достигая желаемого эффекта.

Однако WebViews, к сожалению, более ресурсоемки, чем правки, поэтому их использование внутри сетки не рекомендуется. Мы надеемся предоставить лучшее решение в ближайшее время.

Я бы сделал поле HTML, как предложил Матиаш

Но если вы хотите другое решение, вы можете использовать пользовательский контроль, который может вам помочь. В приложении, которое мы разрабатывали для iOS, мы сделали это с помощью NSAttributeString. https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/classes/NSAttributedString_Class/Reference/Reference.html

То, что мы сделали, это:

& varUC = "@" + & Status + "@ мой средний текст 1 @" + &User + "@ мой средний текст2 @"+&Date+"@"

В нашем UC мы разделили строку на "@" и изменили цвет и вес этих слов, затем удалили символ @ при отображении текста.

Для Android мы еще этого не сделали, но с помощью быстрого поиска в Google, я думаю, вы должны использовать: как изменить цвет текста в середине предложения в Android

Выполнить пользовательский контроль для устройств GeneXus Smart очень просто -> http://wiki.genexus.com/commwiki/servlet/hwikibypageid?15301

Вы можете попробовать использовать тег "после" в определении класса, но вам придется разделить атрибут.

Лучше всего разделить переменные на экране по двум классам:

& Статус и текст

&Status = 'OK' &Text = ', por'+&User+' em '+&date

Пример css ниже используется для автоматической установки полужирных полей и (*) на ярлыке обязательных полей:

.RequiredDataDescription:after 
{
    font-size: 11px;
    font-weight: bold;
    color: #333333;
    content:" (*)";
}
Другие вопросы по тегам