Конкатенация атрибутов с несколькими тематическими классами в приложении 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:" (*)";
}