1

我希望我的应用程序能够在多种屏幕尺寸上运行,并且我希望我可以将文本尺寸值存储在不同的可绘制文件夹中,以便文本适合屏幕尺寸。或者这个问题有更好的做法吗?

例如:drawable-hdpi << textsize == 50

drawable-mdpi << textsize == 25

drawable-ldpi << textsize == 10

4

2 回答 2

1

最简单的做法是在dp(密度独立像素)或sp(缩放像素)中定义文本大小。

这样做,Android 将使用以下计算自动考虑密度:

  • ldpi = 0.75x
  • mdpi = 1x(基线)
  • hdpi = 1.5x
  • xhdpi = 2x

因此,假设您将文本定义为12dp. 它最终会在中等密度设备上为 12 像素,在高密度设备上为 18 像素,依此类推。

与alextsc 注释一样,对于文本大小,最好将其sp用于您的单元,因为它将考虑到用户对ICS 中添加的字体大小的偏好。在较低版本的 Android 上,sp简单地等同于dp.

于 2012-09-06T21:06:36.403 回答
1

如果您想要一个相同的外观并且它的比例正确,@wsanville 的答案是正确的,但是如果由于某种原因您想要完全不同的尺寸。例如,您在平板电脑上使用的布局与在手机上使用的布局不同,并且您希望它是 1 上的标题和另一个上的子标题。然后我建议你定义不同的维度文件夹。

 - values/dimens.xml
<dimen name="textSize">16sp</dimen>
 - values-large/dimens.xml
<dimen name="textSize">32sp</dimen>
 - values-xlarge/dimens.xml
<dimen name="textSize">32sp</dimen>

上面的示例可以让您在手机上小看一下,在平板电脑上大看一下。

于 2012-09-06T22:12:04.440 回答