【发布时间】:2014-06-21 11:49:22
【问题描述】:
我试图将自定义字体添加到 Preference Fragment。我到处尝试,但我无法解决它。任何人都可以建议我最好的可能性吗?提前致谢。
【问题讨论】:
标签: android fragment preference preferencefragment
我试图将自定义字体添加到 Preference Fragment。我到处尝试,但我无法解决它。任何人都可以建议我最好的可能性吗?提前致谢。
【问题讨论】:
标签: android fragment preference preferencefragment
一个长期的解决方案是为每个首选项使用create custom preferences,并在首选项的onBindViewHolder 中应用字体。它很长但很有效:这样你就可以完全控制你的 Preference 对象。
【讨论】:
要添加自定义字体,您需要将字体放在资产目录中,并以编程方式为要使用该字体的每个视图设置字体。如果不使用像 calligraphy 这样的外部库,您不能在 xml 中设置字体。对于存储在 assets 目录中的 Roboto-Light.ttf 文件,您可以在 PreferenceFragment 的 onCreateView 中执行以下操作:
Typeface custom=Typeface.createFromAsset(getAssets(),
"Roboto-Light.ttf");
textView.setTypeFace(custom);
【讨论】:
PreferenceFragment 中的视图没有直接接口。这对我来说是一个悬而未决的问题,绑定到 layoutinflater 可能是唯一合理的、理智的 DRY 解决方案。