有没有办法在运行时为android修改字体或组合两个字体文件。我需要为字体添加一个字符支持。
因为,如果字体文件中不存在字符,则设备会显示该字符的正方形。
答案 0 :(得分:1)
如果您知道哪些字符会给您带来麻烦,那么您可能想尝试一下:
然后执行以下操作:
String yourString = "Some Text Here"; // this is you string
Spannable spannable = new SpannableString(yourString);
// you can also iterate, instead of next few steps
// typeface1 and typeface2 are your two different font styles
spannable.setSpan(typeface1, 0, i-1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(typeface2, i, i+1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(typeface1, i+1, j-1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(typeface2, j, j+1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(typeface1, j+1, k-1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(typeface2, k, k+1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // and so on
spannable.setSpan(typeface1, k+1, N, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textview1.setText(spannable); // this is your textview and setting of font
或者您可以创建自己的客户字体并将其应用于您想要的视图。在那里你可以应用第一个字体forall字符,除了它无法处理的字符。对于那些,你可以申请第二个。我不知道那有多可行。我会尝试一下让你知道。
看看这是否有用。