我正在应用库中的自定义字体,字体文件存储在app文件夹的res/font中。
我是用
int id = context.getResources.getIdentifier("xxx","font",packageName);
Typeface typeface = context.getResources.getFont(id);
字体不为空,我已经把调试点和验证。
TypefaceSpan span = new TypefaceSpan(typeface);
现在我想用这个字体创建TypeFaceSpan对象,我发现下面的错误和应用程序崩溃。
java.lang.NoSuchMethod错误:没有直接方法
(Landroid/Graphics/Typeface;)五级
landroid/text/style/typefacespan;或其超级类(声明
“android.text.style.typefacespan”出现在
/system/framework/framework.jar!类2.dex)。
请帮忙。
提前谢谢。
最佳答案
试图复制您的代码时,出现了以下错误:
对于getFont()
调用需要API级别26
对于TypefaceSpan span = new TypefaceSpan(typeface);
调用需要API级别27
你必须在格雷德至少有这些:
compileSdkVersion 27
implementation 'com.android.support:appcompat-v7:27.1.1'