我在想,的优势(除了有不同的字体)并根据使用自定义字体的产品的商标使用它吗?在Android上使用或不使用自定义字体
但更重要的是,真正的缺点?我在这个答案https://stackoverflow.com/a/4734610/327011中读到,至少OTF有问题,其中一些在根据PPI的特定设备中表现得更多。
因此,对于那些有用的人和那些因为他们不认为他们应该的人而言,你有什么意见和论点?
感谢
我在想,的优势(除了有不同的字体)并根据使用自定义字体的产品的商标使用它吗?在Android上使用或不使用自定义字体
但更重要的是,真正的缺点?我在这个答案https://stackoverflow.com/a/4734610/327011中读到,至少OTF有问题,其中一些在根据PPI的特定设备中表现得更多。
因此,对于那些有用的人和那些因为他们不认为他们应该的人而言,你有什么意见和论点?
感谢
再说什么CommonsWare说,(这是我第一次接受的答案),我发现了一个重大的错误,创建使用自定义字体时的内存泄漏:
http://code.google.com/p/android/issues/detail?id=9904#c7
正因为如此,我倾向于认为使用它们并不是一个好的理念......或者至少要当心使用它们!
如果确实需要使用它们,你可以利用这一点避免内存泄漏的最重要的部分:
public class Typefaces {
private static final String TAG = "Typefaces";
private static final Hashtable<String, Typeface> cache = new Hashtable<String, Typeface>();
public static Typeface get(Context c, String assetPath) {
synchronized (cache) {
if (!cache.containsKey(assetPath)) {
try {
Typeface t = Typeface.createFromAsset(c.getAssets(),
assetPath);
cache.put(assetPath, t);
} catch (Exception e) {
Log.e(TAG, "Could not get typeface '" + assetPath
+ "' because " + e.getMessage());
return null;
}
}
return cache.get(assetPath);
}
}
}
有一个在Android 2.1的一个已知的bug,其中WebView
不显示自定义字体(通过CSS @字体面指定)。
另外,字体很大,并且相当大地增长APK。低带宽和每个带宽用户会讨厌你。
您可以添加自定义字体,使您的应用看起来很漂亮,从人群中脱颖而出,符合某些品牌标识等。另外,打包自己的字体可为您提供最终控制。制造商可以自由地为他们自己的皮肤改变标准主题(包括字体),例如HTC Sense,三星TouchWiz等)。
唯一真正的缺点是,你必须在你的apk文件中加入自定义字体(这会增加下载的大小),并且你需要在使用自定义字体的每个活动中使用样板代码(例如,你不能简单地指定自定义字体到textview/edittext等通过XML)。
旧版本的Android(即< 1.6)可能不支持您的字体,但截至今天,这是< 0.6%的市场。 http://developer.android.com/resources/dashboard/platform-versions.html
除了通过现有的回答中引用的缺点,还要考虑: