如何以编程方式更改资源编辑器中定义的字体大小



Resource Editor中,我创建了一个大小为9的Font,它是成比例的、简单的、小的。然后,我还创建了一些基于该FontUIID。现在,我想在特定情况下,即当Display的高度或宽度大于参考值时,以编程方式更改该FontsizeFont大小的新值将基于Display大小,因此它是动态的。那么,如何通过程序更改Resource Editor中定义的FontFont大小呢?

那是一件困难的事情。无法通过编程方式更改资源编辑器的Font的大小。您需要通过代码构建一个Font,并通过Style类应用到应用程序。例如,如果要更改LabelFont,则必须创建Font,将其添加到Style,然后使用Component方法setSelectedStyle()setPressedStyle()将其添加至Label,方法太多了。。。。

资源主题是一个哈希表。为较大的设备创建另一种字体,例如"LargeFont",然后从主题中提取并应用到哈希表中,例如:

Font f = res.get("LargeFont");
Enumeration e = myTheme.keys();
while(e.hasMoreElements() {
    String current = (String)e.nextElement();
    if(current.indexOf("font") > -1) {
         // add this to a list of keys to change, I'm not sure if you can change them during  iteration
    }
}
// for every key to change
myTheme.put(key, f);

现在你有了一个大字体的主题。

最新更新