1

Hello World アプリをゼロから作成しました。そのレイアウトにはandroid:textSize値が指定されていない 1 つの TextView が含まれており、実際のデバイスの画面では問題なく表示されます。テキストサイズをポイント単位で明示的に指定するものをさらにいくつか追加しましたが、それらはすべて非常に非常に小さく、ほとんど見えません。

<!-- 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

Samsung Galaxy S2 i9108 の密度は 240dpi であるため、60dp は 90 ピクセルに相当します。しかし、ポイント単位のすべてのサイズについて、それらは非常に小さな値に変換されるようです。誰かアイデアがありますか?前もって感謝します。

このアプリには がありminSDKVersion="10"、これが i9108 です。したがって、これは問題になるとは思いません。また、このアプリはエミュレータでは正常に動作しますが、実際のデバイスでは動作しません。

(私は実際のデバイスを手元に持っていません。テストは大変です。そのため、これまで多くのテストを行っていません。)

誰かアイデアがありますか?前もって感謝します。

4

2 に答える 2

2

ユーザーの助けを借りて、Samsung GalaxyS2i9108にptの測定値が正しく変換されないという「バグ」があることを確認しました。dpとspについては、正しく翻訳されています。ptが正しくない理由に時間を費やしたくありません。すべてのフォントサイズをdpまたはspに変更するだけで、まだ決定していません。(そもそもspを使わなかったのには理由がありました。)

これはi9108でのみ発生するようです。私は、i9100のユーザーに、私たちのアプリが自分の携帯電話で問題ないことを確認してもらいます。したがって、これはi9108固有の問題であると思います。

返信してくださった皆様、本当にありがとうございました。ありがとう。

于 2012-01-11T04:18:45.390 に答える
0

テキストサイズの場合、sp画面密度に依存せず、フォントサイズで拡大縮小できる単位測定を使用することをお勧めします。

詳細については、http://developer.android.com/guide/topics/resources/more-resources.html#Dimensionをご覧ください。

于 2012-01-10T21:17:24.420 に答える