Używałem ViewPagerIndicator Jake'a Whartona i obecnie próbuję zaimplementować niestandardową czcionkę na jednym z moich fragmentów. Próbowałem użyć tego kodu:
TextView txt = (TextView) findViewById(R.id.Zipcode);
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/customfont.ttf");
txt.setTypeface(font);
w onCreate
dla głównej czynności, która powoduje wyjątek wskaźnika zerowego w logcat i sporadycznie typeface cannot be made
. Próbowałem również ustawić czcionkę w samym fragmencie w obu onCreate
i onCreateView
Jednak findViewById
i getAssests()
są nieznanymi metodami w zakresie fragmentów.
Mam problem z ustaleniem, czy problem stanowi czcionka, czy problem, w którym próbuję ustawić fon.
Odpowiedzi:
55 dla odpowiedzi № 1Możesz spróbować tego
@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;
}
dzięki temu możesz mieć kontekst w zakresie fragmentu i uzyskać widok i zasoby
0 dla odpowiedzi nr 2
Zdefiniuj krój pisma w swojej klasieViewHolder`
Typeface customFontBold= Typeface.createFromAsset(getActivity().getAssets(),"fonts/JosefinSans-Bold.ttf");
lubię to.
-1 dla odpowiedzi nr 3
Mój prosty kod to wywołanie metody zmiany „kontekst” w fragment z „getContext (); // czy getContext i getActvity są takie same we fragmencie ??
**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;