从这个官方示例中https://developer.android.com/preview/features/working-with-fonts.html我尝试为TextView
设置自定义字体,该字体在XML /布局中设置时有效,但在以编程方式设置时无效我收到以下错误:
java.lang.NoSuchMethodError:没有虚方法 的getFont(I)Landroid /图形/字体或符号;在班上 Landroid /内容/ RES /资源;或其超级类(声明 ' android.content.res.Resources'出现在 /system/framework/framework.jar)
这是我通过代码执行此操作的方式:
Typeface typeface = getResources().getFont(R.font.morganbold);
providerTxv.setTypeface(typeface);
这是一个错误还是我做错了什么?
我将Android Studio Canary 9
与Gradle版本一起使用:gradle:3.0.0-alpha9
有这些支持依赖:
'com.android.support:design:26.0.0'
'com.android.support:appcompat-v7:26.0.0'
答案 0 :(得分:5)
您必须使用
tokenizedString = strtok(string, "\n");
tokenizedString = strtok(tokenizedString, delimit);
答案 1 :(得分:0)
找到解决方案( getFont()将在 Android'O'(26.0.0-beta1)版本中运行。所以我们必须移动以下解决方案):
将font.ttf / otf放入资源文件夹
Typeface light = Typeface.createFromAsset(getAssets(), "font.ttf");
在视图中设置TypeFace
YourView.setTypeFace(light);