如何在Android Studio中的片段中实现自定义字体

时间:2016-04-28 14:19:17

标签: android fonts

我无法在Android Studio 1.5版的Fragment中使用自定义字体。这是我到目前为止在java文档中的内容。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{
    View view = inflater.inflate(R.layout.fragment_sponsors, container, false);
    Typeface myTypeface = Typeface.createFromAsset(getActivity().getAssets(), "fonts/COOPPBL.TTF");
    TextView tv = (TextView) view.findViewById(R.id.textview1);
    tv.setTypeface(myTypeface);

    return inflater.inflate(R.layout.fragment_sponsors, container, false);
}

这就是我在相关的XML代码中所拥有的:

<TextView
    android:id="@+id/textview1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/sponsors"
    android:textSize="35sp"
    />

字体不会更改,输出仍为默认类型。我已经在主项目文件夹中创建了一个assets文件夹,其中包含“fonts”子文件夹,其中包含文件“COOPBL.TTF”。我错过了什么?我觉得这只是一个愚蠢的错误;我是这个平台的新手。

2 个答案:

答案 0 :(得分:1)

试试这个,

返回您膨胀的视图并将自定义字体设置为textview。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{
    View view = inflater.inflate(R.layout.fragment_sponsors, container, false);
    Typeface myTypeface = Typeface.createFromAsset(getActivity().getAssets(), "fonts/COOPPBL.TTF");
    TextView tv = (TextView) view.findViewById(R.id.textview1);
    tv.setTypeface(myTypeface);

    return view;
}

答案 1 :(得分:0)

你可以试试这个

@Override
public View onCreateView(
    LayoutInflater inflater, 
    ViewGroup container,
    Bundle savedInstanceState) {
       View v = inflater.inflate(R.layout.fragment_sponsors, container, false);

       TextView tv = (TextView) v.findViewById(R.id.textview1);

       Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/COOPPBL.TTF"");

       tv .setTypeface(font); 
       return v;
}