【问题标题】:Preventing user changes to font防止用户更改字体
【发布时间】:2013-05-17 01:33:01
【问题描述】:

我的应用中有文本动画,它取决于字体样式、大小和字体。如果用户通过设备设置更改字体,动画将无法正常工作。有没有办法阻止用户更改 xml 布局中的字体大小、字体和样式,或者我必须在代码中应用字体并设置样式和大小?后者能否保证免受用户字体更改的影响?

【问题讨论】:

    标签: android fonts typeface


    【解决方案1】:

    好吧,在尝试了 TextView 的 xml 参数设置的各种组合之后,我得出结论,保护字体系列免受用户更改的唯一方法是在代码中的 TextView 上设置字体。将xml中的T​​extView textSize设置为DP而不是SP确实可以保护字体大小。

    【讨论】:

    • 额外说明,设置TypeFace.Default 将不起作用。如果您想使用默认值,请使用TypeFace.SansSerif
    【解决方案2】:

    尝试将字体大小设置为“dp”而不是“sp”。 SP 单位将使用用户的字体大小偏好,而 dp 单位将始终使用设备的像素密度。

    但在执行此操作时要小心,如果使用 dp 设置所有内容,则某些用户可能会发现您的应用/动画无法阅读。

    【讨论】:

    • 感谢您的回复。字体系列和样式怎么样?它们可以在 xml 中牢固设置,还是我需要覆盖用户尝试更改代码中的样式和字体系列?
    猜你喜欢
    • 2020-04-25
    • 2011-09-24
    • 2015-03-26
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多