android – 通过资产字体更改PreferenceFragment字体

前端之家收集整理的这篇文章主要介绍了android – 通过资产字体更改PreferenceFragment字体前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为了在PreferenceFragment中为每个Preference设置自定义字体,我必须为每个首选项类型(CustomSwitchPreference,CustomEditTextPreference,CustomListPreference,….)编写一个新的自定义类,并在onBindView方法中设置其字体.

它有效,但这是最好的解决方案吗?不短吗?

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

有没有办法更改PreferenceFragment的所有片段的字体,包括对话框?

解决方法

你试过这个吗?

Custom fonts in Android the easy way …

这听起来很有希望.

猜你在找的Android相关文章