Aby mieć niestandardowe czcionki dla każdej preferencji w PreferenceFragment, musiałem napisać nową klasę dostosowanych do każdy typ preferencji (CustomSwitchPreference
, CustomEditTextPreference
, CustomListPreference
, ....) i ustawić jej czcionka w metodzie onBindView
.czcionki Zmień PreferenceFragment poprzez czcionek aktywów
Działa, ale czy to najlepsze rozwiązanie? Bez krótszego?
@Override
public void onBindView(View view){
super.onBindView(view);
TextView title = (TextView) view.findViewById(android.R.id.title);
TextView summary = (TextView) view.findViewById(android.R.id.summary);
Utils.setFont(context, title, customfont);
Utils.setFont(context, summary, customfont);
}
public class Utils{
public static boolean setFont(Context context, TextView tv, String fontAssetName) {
Typeface font = Typeface.createFromAsset(context.getResources().getAssets(), fontAssetName);
if (font != null) {
tv.setTypeface(font);
return true;
}
return false;
}
}
Czy jest jakiś sposób aby zmienić czcionkę dla wszystkich segmentów PreferenceFragment
tym dialogów?