0

最近、Android用のアプリの作成を開始し、さまざまな画面サイズのレイアウトをテストしたいと思いました。私はAndroidデバイスを持っていないので、AVDを使用して仮想デバイスに作成しました:

  1. 240 dpi、幅または高さの仕様なし(電話用)
  2. 160 dpi、800 x 1280(タブレットの場合)

チュートリアルを終えたばかりなので、ディレクトリが次のようになるようにアプリを編集しました。

res/
    layout/
        activity_main.xml

    layout-large/
        activity_main.xml

layout / activity_main.xml:

<?xml ...>
<LinearLayout ...>
    <Button
        android:text="@string/button_send"
        ... />
</LinearLayout>

layout-large / activity_main.xml:

<?xml ...>
<LinearLayout ...>
    <Button
        android:text="@string/button_send_large"
        ... />
</LinearLayout>

2つの異なる文字列リソースには異なる文字列が含まれているため、1つを大型ディスプレイに表示し、もう1つを他のすべてに表示することを期待していました。これは、任意のデバイスの「layout」フォルダーにある.xmlファイルを使用するだけです。

そこで、調査を行い、「layout-large」の名前を「layout-xlarge」に変更し、最後に「layout-sw600dp」に変更しようとしました。どちらも動作しませんでした。
どちらのデバイスもAndroid4.1で動作します。
はい、Eclipseが正しいデバイスでアプリを起動したことを確認しました。

質問:私は何が間違っているのですか?

4

2 に答える 2

1

フォローインを入れる

<?xml ...>
<LinearLayout ...>
    <Button
        android:text="@string/button_send"
        ... />
</LinearLayout>

res / layout/activity_main.xml

AND CREATE res / layout-hdpi / activity_main.xml

                     ^^^^

フォローインを入れる

<?xml ...>
<LinearLayout ...>
    <Button
        android:text="@string/button_send_large"
        ... />
</LinearLayout>

res / layout-hdpi/activity_main.xml

           ^^^^
于 2012-07-11T14:56:42.540 に答える
1

値に同じフォルダ階層を使用して、画面サイズごとに異なる文字列値を定義できます

res/
 |-values/
 |-values-large/

したがって、単一のレイアウトの同じ文字列IDの場合、値は画面サイズに応じて変化します

この時点から問題が発生したかどうかはわかりませんが、おそらく...

それが役に立てば幸い

于 2012-07-11T15:03:59.773 に答える