web-dev-qa-db-ja.com

Androidフラグメントのカスタムフォントを設定

私は Jake WhartonのViewPagerIndicator を使用しており、現在、フラグメントの1つにカスタムフォントを実装しようとしています。私はこのコードを使ってみました:

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

メインのアクティビティのonCreateでは、logcatでnullポインター例外が発生し、場合によっては_typeface cannot be made_が発生します。また、onCreateonCreateViewの両方でフラグメント自体にフォントを設定しようとしましたが、findViewByIdgetAssests()はフラグメント内の不明なメソッドです範囲。

フォントに問題があるのか​​、フォントを設定しようとしているのがどこにあるのかがわかりません。

21
Nick

あなたはこれを試すことができます

@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;
}

これにより、フラグメントのスコープにコンテキストを設定して、ビューとアセットを取得できます

61
EkKoZ

YourViewHolderクラスで書体を定義します `

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

このような。

0
Abhi Soni