3

以前にこれをプロジェクトで機能させることができたのは知っていますが、何らかの理由で、ディメンションを「values-sw360dp」に入れようとすると、幅が360dpを超える画面がそれらのディメンションを取得しません。通常の「values」フォルダに戻ります。なぜ何かアイデアはありますか?さらに詳しい情報が必要な場合は、お気軽にお問い合わせください。

お時間をいただきありがとうございます。

編集:画面解像度を取得する方法:( Bionicは360x640dpになりました)

Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
Log.d("Screen width(px)", width+","+height);

float density = getResources().getDisplayMetrics().density;
Log.d("Screen density", density+"");

float widthDp = width / density;
float heightDp = height / density;
Log.d("Screen width(dp)", widthDp+","+heightDp);
4

2 に答える 2

4

また、あなたの数学はオフだと思います。

Nexus one は 480 x 800 ピクセルで 3.7 インチの画面で、DPI は 252dip です。

この Web サイトを使用して密度を計算できます: dpi

または手動で行います。

これは密度バケットについて説明しています: list-of-android-devices-with-pixel-density-buckets

したがって、Google Nexus One がそれを拾うためには、

/values-sw530dp/

ところで、あなたは宣言しますか

android:minSdkVersion="7"マニフェストで、あなたの試みがAndroid 1.5で機能しないため(古いエミュレーターなどを使用している場合)。

于 2012-06-21T19:42:45.583 に答える
1

あなたの数学はオフだと思います:

Wikipediaによると、ディスプレイはディスプレイ4.3インチ 960×540px qHD 256ppi

160/256 = 0.625

0.625*540 = 337.5

試してみてvalues-sw335dp、それが機能するかどうかを確認してください

于 2012-06-21T19:25:25.433 に答える