设置Android片段的自定义字体

我一直在使用杰克·沃顿的ViewPagerIndicator ,我正在尝试在我的一个片段上实现自定义字体。 我试过使用这个代码:

TextView txt = (TextView) findViewById(R.id.Zipcode); Typeface font = Typeface.createFromAsset(getAssets(), "fonts/customfont.ttf"); txt.setTypeface(font); 

在主要活动的onCreate中,导致logcat中出现空指针exception,偶尔typeface cannot be made 。 我也尝试在onCreateonCreateView中设置片段本身的字体,但是findViewByIdgetAssests()是片段范围中的未知方法。

我很难弄清楚字体是否是问题,或者我正在设法解决问题。

Solutions Collecting From Web of "设置Android片段的自定义字体"

你可以试试这个

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_layout, container, false); TextView txt = (TextView) v.findViewById(R.id.Zipcode); Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/customfont.ttf"); txt.setTypeface(font); return v; } 

有了这个,你可以在片段的范围内获得视图和资产

在你的ViewHolder类中定义字体

 Typeface customFontBold= Typeface.createFromAsset(getActivity().getAssets(),"fonts/JosefinSans-Bold.ttf"); 

喜欢这个。

我简单的代码是改变方法调用“上下文”的片段与“getContext(); //是getContext和getActvity在片段?

 **result**.setText("Value Expenses = " +expenses); Typeface supercell = Typeface.createFromAsset(**getContext()**.getAssets(), "fonts/Supercell.ttf");** **result.setTypeface(supercell);** }catch (Exception e) { Toast.makeText(getActivity(), "SUCCEED, VALUES RESULT", Toast.LENGTH_SHORT) .show(); } break;