-1

これに対処する他の質問を見たことがありますが、答えが私の問題に合わないようだったので、自分で尋ねてみようと思いました.

私は小さな Android アプリを開発し、最初に Galaxy Nexus エミュレーターに対してテストしました。次に、Galaxy S4 でテストしました。最終的には、より多くのデバイスで利用できるようにしたいと考え、いくつかのサポート ライブラリの実装を開始しました。

これをテストするために、Nexus S 2.3 エミュレータ イメージを使い始めたところ、レイアウトが画面を超えていることに気付きました。2 つの「デバイス」の画面サイズを見ると、それは理にかなっています。したがって、Nexus S で使用される別のレイアウト (または短いラベル名を持つ別の string.xml を作成することもできますが、ここではレイアウトだけに焦点を当てます) を作成します。

残念ながら、Galaxy Nexus では検出されず、Nexus S では検出されるフォルダ名が見つかりません。

さらに、これが良いデザインと見なされているかどうかもわかりません。一般的に、電話(タブレットなどに対して)は同じレイアウトを使用する必要があることを読んだことがあると思います(正直なところ、それは私には間違っています)。

誰かが私が見ている動作を説明し、これをどのように設定して、2 つのデバイスのレイアウトが異なるか (または、なぜそれが悪い考えなのか) を教えてもらえますか?

たぶん、これら2つの組み合わせが役立つでしょう。問題は、Nexus S を対象とする小さいデバイス用のレイアウトを作成しようとしていた可能性があります。 ...

ギャラクシー ネクサス
ネクサス S

これも見ていきます

解決済み これを締めくくる だけで、上記がまさにそれでした。Galaxy Nexus を「通常」、Nexus S を例外として考えるのではなく、Android の観点から見ると、Nexus S はより「通常」であり、Galaxy Nexus は「sw360dp」(レイアウト - sw360dp, values-sw360dp) プロファイルが利用可能な場合。そのため、values-sw360dp で通常の font-sizes を使用して styles.xml を作成し、デフォルトの styles.xml のフォントを小さい値に変更するとうまくいきました。

4

2 に答える 2

0

レイアウトがすべてのデバイスに確実に収まるように、resフォルダーで異なるレイアウトを作成する必要があります。異なるレイアウトで問題を引き起こしているxmlをコピーして貼り付けるだけです。

layout-largeなど、layout-smallその後、xmlがデバイスに収まるように修正してください。

参考までに: ldpi ハンドセットは、layout-small からレイアウト xml を取得するため、残りのデバイスについて心配する必要はありません。ここにあなたを助けるリンクがあります

于 2013-08-17T06:58:47.880 に答える