【发布时间】:2013-05-17 01:33:01
【问题描述】:
我的应用中有文本动画,它取决于字体样式、大小和字体。如果用户通过设备设置更改字体,动画将无法正常工作。有没有办法阻止用户更改 xml 布局中的字体大小、字体和样式,或者我必须在代码中应用字体并设置样式和大小?后者能否保证免受用户字体更改的影响?
【问题讨论】:
我的应用中有文本动画,它取决于字体样式、大小和字体。如果用户通过设备设置更改字体,动画将无法正常工作。有没有办法阻止用户更改 xml 布局中的字体大小、字体和样式,或者我必须在代码中应用字体并设置样式和大小?后者能否保证免受用户字体更改的影响?
【问题讨论】:
好吧,在尝试了 TextView 的 xml 参数设置的各种组合之后,我得出结论,保护字体系列免受用户更改的唯一方法是在代码中的 TextView 上设置字体。将xml中的TextView textSize设置为DP而不是SP确实可以保护字体大小。
【讨论】:
TypeFace.Default 将不起作用。如果您想使用默认值,请使用TypeFace.SansSerif。
尝试将字体大小设置为“dp”而不是“sp”。 SP 单位将使用用户的字体大小偏好,而 dp 单位将始终使用设备的像素密度。
但在执行此操作时要小心,如果使用 dp 设置所有内容,则某些用户可能会发现您的应用/动画无法阅读。
【讨论】: