it-swarm.com.de

Festlegen einer benutzerdefinierten Schriftart für Android-Fragmente

Ich habe Jake Whartons ViewPagerIndicator verwendet und ich versuche gerade, eine benutzerdefinierte Schriftart in einem meiner Fragmente zu implementieren. Ich habe versucht, diesen Code zu verwenden:

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

In der Variable onCreate für die Hauptaktivität, die zu einer Nullzeigerausnahme in logcat und gelegentlich typeface cannot be made führt. Ich habe auch versucht, die Schriftart im Fragment selbst in sowohl onCreate als auch onCreateView zu setzen, jedoch sind findViewById und getAssests() unbekannte Methoden im Fragmentbereich.

Ich habe Probleme, herauszufinden, ob die Schriftart das Problem ist oder wo ich versuche, die Schriftart nicht festzulegen.

20
Nick

Sie können es versuchen

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

damit können Sie den Kontext im Bereich des Fragments haben und die Ansicht und die Assets abrufen 

58
EkKoZ

Definieren Sie die Schriftart in der Klasse "ViewHolder"

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

so was.

0
Abhi Soni