4

異なるデバイスでアプリケーションを同じように見せる方法を知りたいです。複数の画面のサポートを何度も読みましたが、まだ生き方がわかりません。

レイアウトの例を次に示します。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >
    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Hello World, MyActivity"
            android:textSize="30sp"
            />
</LinearLayout>

Galaxy S II (480x800) と Sensation XE (540x960) があります。どちらもhdpi物理的な画面サイズはほぼ同じです。両方のデバイスで同じように見えると思っていましたが、実際には 540x960 のテキストは 480x800 よりも小さくなっています: ここに画像の説明を入力 (左は 480x800、右は 540x960)

寸法リソースにテキストサイズを指定してフォルダを分けようとしたvalues-w540dpのですが、効果がありませんでした。

hdpi異なるデバイスでアプリケーションが同じように見えるようにするにはどうすればよいですか?

4

3 に答える 3

3
android:textAppearance="?android:attr/textAppearanceLarge"

android:textAppearance="?android:attr/textAppearanceMedium"

android:textAppearance="?android:attr/textAppearanceSmall"

これらの属性はここであなたの問題を解決するかもしれません。それ以外の場合は、画面の高さと幅を使用して、いくつかの比率 (または :textSize=factor*height のように生成する要素) でレイアウトを動的に設定する必要があります。

于 2012-11-08T13:31:47.497 に答える
0

あなたの問題に関連するいくつかのナゲットがあるので役立つかもしれない2つのサイトですが、どちらもあなたが見ている問題を修正する正確な1-2-3の方法ではありません:

于 2012-11-08T13:50:10.720 に答える
0

metricsを見てください。テキストサイズを dp (密度に依存しないピクセル) で指定すると、機能するはずです。テキストのデフォルト サイズは約 14 dp です。(TextAppearance.small)

于 2012-11-08T13:34:42.790 に答える