在Brightscript中检查按钮标题是否溢出

时间:2015-06-12 12:55:34

标签: roku brightscript

在Roku的库中,要在弹簧板屏幕上添加按钮,可以使用该方法(参见doc):

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

如果title溢出按钮宽度,它将自动截断文本并附加“...”。但是有可能以编程方式检查是否存在溢出?

1 个答案:

答案 0 :(得分: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