pt中的文字大小不适用于三星Galaxy S2 i9108

时间:2012-01-10 18:52:06

标签: android galaxy

我从头开始创建了一个Hello World应用程序。它的布局包含一个TextView,它没有指定android:textSize值,它在真实设备的屏幕上显示正常。我添加了一些,它们明确指定了点的文字大小,它们看起来都非常小,几乎看不见。

<!-- Without textSize given. This one shows fine. -->
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello" />
<!-- These have a different size, in points. They are invisible. -->
<TextView
    android:textSize="12pt"
    android:text="Hello world, 12pt"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>
<TextView
    android:textSize="16pt"
    android:text="Hello world, 16pt"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>

作为进一步的测试,我在res.values文件夹中放了几个尺寸并以编程方式访问它们:

<resources>
    <dimen name="fontSize">8pt</dimen>
    <dimen name="height">60dp</dimen>
</resources>
......
......
i = getResources().getDimensionPixelSize(R.dimen.fontSize); // returns 1
i = getResources().getDimensionPixelSize(R.dimen.height); // returns 90

三星Galaxy S2 i9108的密度为240dpi,因此预计60dp相当于90像素。但对于所有尺寸的点,它们似乎被转换为非常小的值。有人有想法吗?提前谢谢。

此应用有minSDKVersion="10",这就是i9108。所以我不认为这会是一个问题。而且,这个应用程序在模拟器上运行良好,但在真实设备上运行不正确。

(我手边没有真正的设备,测试很难。所以到目前为止我还没有做过很多测试。)

有人有想法吗?提前谢谢。

2 个答案:

答案 0 :(得分:2)

在我的用户的帮助下,我确认三星Galaxy S2 i9108有一个“错误”,它不能正确转换pt中的测量值。至于dp和sp,它们被正确翻译。我不想花时间解释为什么pt不正确,我们只是将所有字体大小更改为dp,或sp,还没有决定。 (我们首先没有使用sp是有原因的。)

这似乎只发生在i9108,我有i9100的用户确认我们的应用程序在他们的手机上都可以。所以我认为这是一个特定于i9108的问题。

非常感谢所有回复我的人。感谢。

答案 1 :(得分:0)

对于文字大小,建议使用sp单位小节,它与屏幕密度无关,也可以按字体大小缩放。

有关详细信息:http://developer.android.com/guide/topics/resources/more-resources.html#Dimension