我们首先在Android 5中开发了一个应用程序(100000+下载),它使用ttf字体(TrueTypeFont)。自Android 8升级以来,我们的客户抱怨它,因为它不再显示字体(符号),而是ASCI代码(字母,符号,数字)。但奇怪的是,正确显示了一些字体符号。
这是始终有效的代码,直到奥利奥:
bt1.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/LASSU.TTF"));
bt1.setText("`");
bt2.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/LASSU.TTF"));
bt2.setText("1");
bt3.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/LASSU.TTF"));
bt3.setText("`" + "\u02D6" + "1");
bt4.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/LASSU.TTF"));
bt4.setText("”È’Ø");
此代码应具有此外观(这适用于Android 5-7,方框为4个按钮):
但相反它显示了这一点(因为奥利奥,注意到最后一个按钮显示正确,而其他按钮没有):
我们认为可能我们的方法现在已经被某种方式弃用了,但我们没有找到提示。 Here我们也搜索了,但到目前为止我们找不到解决方案。
我们非常感谢你的帮助!!
三江源