我已经知道Java及其工作原理,但是我是与android相关的新手。我有一个要使用的字体,我想将其加载到一个单独的类中,但是我发现的所有显示示例的网站都需要MainActivity
对象的上下文,因为它使用了{{1} }函数。我需要在不使用该功能的情况下加载字体。
显示给我看的例子
getAssets()
答案 0 :(得分:0)
创建CustomTextView类,并将其直接用作常规textview,如下所示
customtextview类文件
public class CustomTextView extends TextView {
public CustomTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public CustomTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CustomTextView(Context context) {
super(context);
init();
}
private void init() {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(),
"fonts/opensans.ttf");
setTypeface(tf);
}
}
将此用作
<core.com.example.CustomTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@color/colorBlack"
android:textSize="14sp"
android:text="Test text with custom font"
android:lineSpacingExtra="2dp"
/>
更新
正如@EugenPechanec所评论的那样,您可以尝试这种方法来演示here.