5

nexus 7 で適切に動作する Android アプリケーションを作成しました。resources フォルダー内にlayoutlayout-landNexus 7" タブ用に 2 つのフォルダーを作成しました。これまではすべて正常に機能していました。Samsung Galaxy S3 用に別のレイアウトを作成したいと考えています。そのために、layout-large&を使用してリソース内にフォルダーを作成しましたlayout-large-land. しかし、ここに問題があります. さて、Nexus 7でも、フォルダーで定義されたレイアウトlayout-largeが読み込まれています. どうすればそれを止めることができますか? Nexus 7用に別のレイアウトを作成するにはどうすればよいですか?タブ&Galaxy S3モバイル?複数画面のサポートのドキュメントを読みました。しかし、Nexus 7 の画面サイズが 1204 X 800 で、samsung galaxy S3 の画面サイズが 720 X 1280 であるため、理解できませんでした。

画面解像度と表示サイズが異なるデバイスごとに異なるレイアウトを作成する方法は? また、デバイスのサイズに基づいて、アプリケーションでいくつかの値を変更したいと考えています。それをどうするか?

4

4 に答える 4

10

複数の画面のサポートによるとここに画像の説明を入力してください

small、、などの修飾子はnormallargeを表します。これは、指定した場合、Nexus7が修飾子とともにリソースを使用することを意味します。したがって、修飾子を使用してフォルダーを作成する前に、Nexus7はデフォルトのレイアウトフォルダーからリソースをロードします。、、、は画面密度です。xlargeScreen Sizeslargelargeldpimdpihdpixhdpi

問題を解決するには、次のものが必要です。

  1. Galaxy S3のレイアウト定義をlayoutに、layout-sw600dpをNexus 7に配置します。Androidデベロッパーブログ:アプリをJellyBeanとNexus7に対応させるをご覧ください。

  2. Galaxy S3のリソース(画像または描画可能なもの)をdrawable-xhdpiに配置し、Nexus7のdrawable-tvdpiまたはdrawable-hdpiに配置します。

お役に立てば幸いです。他に問題がありましたらお知らせください:)

ここにいくつかの有用な参考資料があります:

720x1280のAndroidデバイスに適したレイアウトは何ですか?

画面幅修飾子

于 2012-10-10T10:28:00.697 に答える
0

解像度と密度が異なる複数のデバイスをサポートするアプリケーションを開発しました。nexus 7とgalaxy s3もその1つです。プロジェクトにlayout-largeフォルダーがある場合、galaxy s3とnexus7は明らかに大画面フォルダーから取得します。ただし、galaxy s3 は大きな hdpi カテゴリに分類され、nexus7 は大きな tvdpi カテゴリに分類されます。そのため、s3 と nexus7 にそれぞれ layout-large-hdpi と layout-large-tvdpi があると非常に便利です。

于 2013-09-01T09:18:07.207 に答える
0

xlarge と xlarge-land にも 1 つ必要です

または、次のように呼び出してプログラムで実行できます。

Display displayparm= activity.getWindowManager().getDefaultDisplay();
int width= displayparm.getWidth();
int Height= displayparm.getHeight();

この情報からレイアウトを選択します

于 2012-10-10T09:44:56.010 に答える
0

resフォルダーの下に新しいフォルダーをlayout-xlargeおよびlayout-xlarge-largeとして追加してレイアウトを作成できます。より高い解像度をサポートするには、Android マニフェスト ファイルも更新する必要があります。

于 2013-05-06T09:59:33.057 に答える