0

Gingerbread を実行する 1024x600 7 インチのタブレット hdpi と、サイズが 1920x1008 22 インチのタッチスクリーンに接続されたハブで、ICS を実行する hdpi の 2 つのデバイスがあります。Android OS は、両方を「大きい」(240dp) と見なしているようです。

したがって、実際の密度 (240dpi)、一般化された密度 (hdpi) は同じで、一般化されたサイズ (大) は同じですが、実際のサイズ (7 インチと 22 インチ) は異なります。

レイアウトに指定したテキストと間隔の寸法は、22 インチではうまく機能しますが、7 インチでは巨大に見え、画面に収まりません。

私はdpとspを使ってみましたが、問題はAndroidがこれらのものを同じサイズ/密度と見なしていることだと思うので、違いはありません。サイズを適切にスケーリングする方法について、誰かに推奨事項はありますか? このプログラムは、最終的には 4.5 インチのハンドヘルドでもサポートされる必要があります。

前もって感謝します。

4

2 に答える 2

1

私のアプリケーションでもこのような問題に直面しています。しかし、私はこれに対する良い解決策を見つけました。のレイアウトは 1 つだけでtablet、ディレクトリ名はlayout-sw600dp. さて、一部が高さと幅の問題になったとき、私はいくつかの異なるvaluesディレクトリを作成し、そこにdimensionsfont sizeおよびその他のスタブを配置しました。したがって、タブレット画面のconstant価値はありません。layout

androd:layout_width:"60dp" // i drop this scenario

androd:layout_width:"@dimen/tab_width" // i used this scenario

valuesディレクトリ名は次のようになります

values-xlarge
values-large

すべての値は値ディレクトリから取得されます。別のレイアウトを作成することはありませんが、1 つのレイアウトを複数回使用できます。

あなたを助けるかもしれない私のスタックの答えを見てください。

于 2013-03-12T06:04:07.860 に答える
1

申し訳ありませんが、以前の回答は完全に間違っていました = )

理想的には、7 インチ タブレット用にデザインし、テレビに合わせてレイアウトを拡大できる必要があります。しかし、それがうまくいかない場合は、layout-sw1008dp のようなものを使用できるはずです。「sw」プレフィックスを使用すると、画面の最小辺の最小寸法を指定します。つまり、テレビの場合は高さです。

于 2013-03-12T00:01:25.113 に答える