【发布时间】:2012-05-20 16:15:48
【问题描述】:
我想将TextView 上的第一个字符设置为TypeFace,将第二个字符设置为不同的Type face,依此类推。
我读了这个例子:
Spannable str = (Spannable) textView.getText();
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7
,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
但这对我没有帮助,因为我想设置多个TypeFace (external TTFs)
有什么想法吗??
【问题讨论】:
-
假设你有两个字体,比如
Typeface font = Typeface.createFromAsset(getAssets(), "1.ttf"); Typeface font2 = Typeface.createFromAsset(getAssets(), "2.ttf");,那么SpannableStringBuilder SS = new SpannableStringBuilder("your_text"); SS.setSpan ( new StyleSpan(font2.getStyle()), 0, 2,Spanned.SPAN_EXCLUSIVE_INCLUSIVE); SS.setSpan ( new StyleSpan(font.getStyle()), 3, 6,Spanned.SPAN_EXCLUSIVE_INCLUSIVE);。你试过这种方法吗? -
我试过了,但没用,我认为 font1.getStyle() 获取的是字体的样式而不是字体本身
-
我找到了你的问题的解决方案,看看我的回答:)。