【发布时间】:2014-04-24 20:56:11
【问题描述】:
我正在开发一个(应该是)特定于设备的应用程序(理论上总是在 Nexus 7 上使用,尽管它可能是该设备的任一版本)。许多视图将包含文本和图形的某种组合,以有意义的方式定位。如果我按照推荐使用“sp”来定义文本大小,并且用户全局更改“文本大小”,则文本将被缩放但图形不会 - 完全破坏视觉呈现。
我想使用 dp 而不是硬像素单位,因为不同版本的 Nexus 7 具有不同的显示密度。如果有人改变主意并且应用程序在其他显示器上运行,如果保持位置关系也会很好。 dp 为图形处理此问题,但通过对文本使用不同的测量单位,它允许用户损坏整体演示文稿。
有没有办法禁用可选地应用于“sp”的缩放,以便图形(用 dp 定义)和文本(用 sp 定义)之间的关系不会被破坏?坦率地说,我只想用 dp 定义文本,但找不到使用代码的方法(似乎没有一个 TypedValue 常量支持它)。
谢谢!
【问题讨论】:
-
您是在动态创建视图吗?我认为您可以在 xml 中使用 dp 作为文本大小,但这不是最佳做法。虽然不是 100%
-
是的,视图是在代码中创建的,并且可以在执行期间更改。这就是为什么我包含有关 TypedValue 的评论,因为这就是您为 TextView.setTextSize() 指定单位的方式。
-
我是根据这个推测的,但我不知道他们是否必须这样:)
标签: android text graphics scaling