4

480X800 と 480X854 の画面を区別する方法。1 つの画像を hdpi フォルダーに配置するオプションがあります。私の場合、480X800 画像は 480X854 画像をサポートしていません。下部に空白が表示されます。何かアイデアはありますか?

編集:画像を背景として設定しました。私のレイアウトでは、余白のある透明な画像ビューがあります。画像ビューをクリックすると、何らかのタスクが実行されます。しかし、これらの2つの画面の間。1つの値を調整できます。別のものでは、画像がわずかに引き伸ばされました。それから私は何ができますか?私の問題を理解できますか?助けてください。

4

4 に答える 4

4

2つを実際に区別する必要はありません。特定の画面解像度ではなく、各画面密度をサポートするように最善を尽くす必要があります。そうしないと、画面解像度がまだ異なるデバイスが出てきたときに混乱することになります。これが、9つのパッチ画像がある理由です。:)

この質問も参照してください:
Androidのスプラッシュ画面の解像度はどのくらいにする必要がありますか?

どうしても2つを区別する必要がある場合は、longおよびnotlongリソース修飾子を使用できます。たとえば、WVGAvalues-hdpi-notlongはで、FWVGAはvalues-hdpi-longです。
どうやらこれは正しくありません。これが、解像度の小さな変更を処理できる汎用リソースを区別して作成しない理由です。

于 2010-06-09T18:31:17.883 に答える
1

現在実行中のプロセスから解決策を引き出すことはできますが、正確な解決策を引き出すことはできません。私が知っているように、2 つの「大きい」ディスプレイを区別する方法はありません。期待できる最善の方法は、アプリで任意のサイズをサポートすることです。

画像を表示する場合 (アプリケーションをすべての画面サイズで使用できるようにしたと仮定) は、画像をより大きな解像度と同じ大きさにし、他のビットを表示させないようにします。画像ファイルが小さい場合は問題ありません。

ところで、アプリケーションのレイアウトをすべての画面解像度でアクセスできるようにし、より低い解像度に合わせてカスタマイズすることで、最初に問題を解決しました。

それが役に立ったことを願っています!

于 2010-06-09T18:14:29.993 に答える
1

create folder layout-hdpi-854x480

于 2010-11-19T07:55:13.110 に答える
1

クリストファーの権利、アプリを柔軟にする必要がありますが、実際の画面解像度が必要な場合は、次を使用できます。

表示 d = ((WindowManager)activity.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int 幅 = d.getWidth();
int 高さ = d.getHeight();

そこから、必要に応じて再スケーリングまたはズームイン/アウトするか、単に 9patch を使用できます。もちろんアプリケーションによって異なりますが、480x854 の画像を res/ フォルダーに配置し、中央に配置された 480x800 で正しく見えるようにすることを検討してください。

于 2010-06-09T18:50:10.593 に答える