有没有办法在运行时为android修改字体或组合两个字体文件。我需要为字体添加更多字符支持。
因为,如果字体文件中不存在字符,设备会为该字符显示一个正方形。
如果您知道哪些字符会给您带来麻烦,那么您可能想试试这个:
然后做类似的事情:
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
或者您可以创建您的自定义字体并将其应用于您想要的视图。因为您可以为所有字符应用第一个字体,除了它无法处理的字符。对于那些,你可以申请第二个。我不知道这有多可行。我会试一试,让你知道。
看看这个有没有用。