6

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?

Odpowiedz

Powiązane problemy