2011-04-01 92 views
20

我在整个应用程序中使用Helvetica字体。目前,我正在与资产分开创建字体。所以我说这三个Android自定义字体可跨越字体跨度

HelveticaNeue = Typeface.createFromAsset(application.getAssets(), "fonts/HelveticaNeue.ttf"); 
HelveticaNeueBold = Typeface.createFromAsset(application.getAssets(), "fonts/HelveticaNeueBold.ttf"); 
HelveticaNeueBoldItalic = Typeface.createFromAsset(application.getAssets(), "fonts/HelveticaNeueBoldItalic.ttf"); 

当我为一个TextView使用一个字体时,一切都很好。不过,我需要使用spannable

Spannable WordtoSpan = new SpannableString("This text should be normal, but this needs to be bold, and normal");  
WordtoSpan.setSpan(new TypefaceSpan("bold"), 5, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

而且我希望有字符串的一部分是HeleveticaNeueBold有的只是HelveticaNeue。我认为需要向Android表明上述3种字体实际上是相关的,以便它可以很好地切换它们。寻找任何其他的方式来做到这一点。

+0

您是否找到了解答此问题的答案?请分享解决方案。我也想为两个TextView使用两个Helvetica的字体)))谢谢。 – anivaler 2014-06-12 09:41:19

回答

19

您将要编写自定义的TypefaceSpan。好消息是他们并不困难。一个例子见here