Android自定义字体可跨越字体跨度

Leo*_*Leo 21 android textview custom-font typeface

我在整个应用程序中使用Helvetica字体.目前我正在与资产分开创建字体.所以我说这三个

HelveticaNeue = Typeface.createFromAsset(application.getAssets(), "fonts/HelveticaNeue.ttf");
HelveticaNeueBold = Typeface.createFromAsset(application.getAssets(), "fonts/HelveticaNeueBold.ttf");
HelveticaNeueBoldItalic = Typeface.createFromAsset(application.getAssets(), "fonts/HelveticaNeueBoldItalic.ttf");
Run Code Online (Sandbox Code Playgroud)

当我为一个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);
Run Code Online (Sandbox Code Playgroud)

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

Jim*_*aca 19

您将要编写自定义TypefaceSpan.好消息是他们并不困难.请看这里的例子.