2012-01-10 69 views
1

我从零开始创建了一个Hello World应用程序。它的布局包含一个TextView,它没有指定android:textSize的值,它在真实设备上的屏幕上显示得很好。我加了几个,它们明确指定了文本大小,它们都显得非常非常小,几乎看不见。pt中的文字大小在三星Galaxy S2上不起作用i9108

<!-- 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是什么。所以我不认为这会是一个问题。而且,这款应用在仿真器上运行良好,但不在真实设备上运行。

(我没有在手的真实设备,测试是很难的。所以我没有做大量的测试为止。)

没有任何人有一个想法?先谢谢你。

+0

您是否记得在清单中添加支持哪些设备屏幕大小?这个很重要。 – Warpzit 2012-01-10 19:00:22

+0

@Warpzit感谢您的回复。在我的真实应用程序(以上只是针对此错误的测试应用程序)中,Market表示它支持SMALL,NORMAL,LARGE和XLARGE。我想这是对的,对吗? – wwyt 2012-01-10 19:14:39

+0

基于文档1pt在设备屏幕上是1/72英寸,所以如果通过使用“in”作为参考,您可以进行一些快速测试。 – harism 2012-01-10 19:18:36

回答

2

通过我的用户的帮助下,我证实,三星Galaxy S2 I9108有一个“错误”,它不正确翻译在PT测量。至于dp和sp,它们被正确翻译。我不想花时间为什么pt不正确,我们只是将所有字体大小更改为dp或sp,尚未决定。 (我们并没有首先使用sp是有原因的。)

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

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