2015-06-12 3 views
0

В библиотеке Roku, в добавление кнопки на экране трамплина, используется метод (см doc):Проверка заголовка кнопки перетекает в Brightscript

AddButton(buttonID as Integer, title as String) as Boolean 

Если title перетекает ширину кнопки, она будет автоматически усечь текст и добавить «...». Но возможно ли программно проверить, произошло ли переполнение или нет?

ответ

2

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

Для второго варианта, вы должны знать ширину баттона, семейство шрифтов и FontSize, например:

button_width = 450 'px 

reg = CreateObject("roFontRegistry")  
arialFont = reg.GetFont("Arial", reg.GetDefaultFontSize(), false, false) 
title_width = arialFont.GetOneLineWidth(titleString, 1280) 'maxWidth set to screen width 

if title_width > button_width then 
    'do your logic here 
end if 
+0

Спасибо большое! Теперь возникает вопрос: в вашем примере вы жестко закодировали ширину кнопки. Есть ли способ программно указать ширину кнопок на экране трамплина? –

+0

Невозможно определить ширину кнопок программно, насколько я знаю. –

Смежные вопросы