不同屏幕尺寸的不同字体大小

时间:2011-01-17 13:45:15

标签: android

在我的应用程序中,我必须使用较小的字体用于中密度设备。是否可以指定?

3 个答案:

答案 0 :(得分:30)

您应该使用styles,然后您可以拥有单独的文件夹“values”(默认)“values-hdpi”(高密度)“values-mdpi”(中密度)等等并放置您的样式文件根据需要在每个文件夹中使用正确的textSize值。

然后,当你处于中密度设备时,如果存在,它将在“values-mdpi”文件夹中选择文件,如果不存在,则选择“值”,对于高密度等,则选择相同的文件...

同样的原则适用于al“res”子文件夹(drawables,values等...)

答案 1 :(得分:28)

使用逢低(例如14dp)而非像素(例如14px)指定所有字体,您无需担心屏幕密度。 Android会相应地缩放字体(和布局)。

编辑:这是来自the Android docs的sp / dp的比较:

  

<强> DP   密度无关像素 - 一种基于屏幕物理密度的抽象单元。这些单位相对于160 dpi(每英寸点数)的屏幕,因此无论屏幕密度如何,160dp始终为1英寸。 dp与像素的比率将随着屏幕密度而变化,但不一定成正比。在布局中指定视图尺寸时,您应该使用这些单位,以便UI正确缩放以在不同屏幕上以相同的实际尺寸渲染。

     

<强>属   与比例无关的像素 - 这与dp单位类似,但它也可以根据用户的字体大小首选项进行缩放。建议您在指定字体大小时使用此单位,以便根据屏幕密度和用户偏好调整它们。

答案 2 :(得分:0)

是的,用于实现适用于所有分辨率的通用应用程序。 你应该配置多个drawables&amp;相应的布局。

例如

绘项目: -

抽拉-LDPI 绘制,MDPI 抽拉-HDPI

布局: -

布局小 布局中 布局大

然后您可以根据设备所需的分辨率进行更改。 Android支持各种屏幕分辨率的密度因子的内部配置。 该设备可以采取适当的可绘制和相应的布局。 你不需要调整你的src文件中的任何代码行。