// Font path
String fontPath = "fonts/jcc.ttf";
// text view label
TextView txtGhost = (TextView) findViewById(R.id.ghost);
// Loading Font Face
Typeface tf = Typeface.createFromAsset(getAssets(), fontPath);
// Applying font
txtGhost.setTypeface(tf);
在Android Studio中出现错误,"无法解析符号' setTypeface'"和"未知的课程:' tf'"。我不知道为什么,我定义了' tf'我看了很多使用setTypeface的教程。 请帮助!
编辑,这是截图,我正在使用这个确切的代码,我的字体在" assets / font / jcc.tf'下面。 http://i.imgur.com/fcDdVRz.png 抱歉没有足够的声誉来发布图片:(
答案 0 :(得分:2)
经过多次试验和错误后,我找到了解决方案!
我的代码是在onCreate方法之后,一旦我把它放在里面,所有的错误都消失了!
包含错误的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
// Font path
String fontPath = "fonts/SECRCODE.ttf";
// text view label
TextView txtGhost = (TextView) findViewById(R.id.java1);
// Loading Font Face
Typeface tf = Typeface.createFromAsset(getAssets(), fontPath);
// Applying font
txtGhost.setTypeface(tf);
代码没有错误(注意代码现在在onCreate方法中):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Font path
String fontPath = "fonts/SECRCODE.ttf";
// text view label
TextView txtGhost = (TextView) findViewById(R.id.java1);
// Loading Font Face
Typeface tf = Typeface.createFromAsset(getAssets(), fontPath);
// Applying font
txtGhost.setTypeface(tf);
}
如果有人能解释为什么这样有效,那将会有很大帮助! 谢谢!
答案 1 :(得分:1)
您需要在onCreate方法中设置字体(字体)的原因是因为加载活动时onCreate方法中的Java代码会自动执行。如果没有将它放在onCreate()方法中,就没有引用/调用来执行你的代码。