![]()
Androidで画像表示をしているうちに、画面サイズが533×320ドットとして認識される問題にぶつかりました。
package com.Test126;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.WindowManager;
public class Test126Act extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WindowManager wmWindowManager = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
Display display = wmWindowManager.getDefaultDisplay();
Log.d("Test126","Display.getWidth() " + display.getWidth());
Log.d("Test126","Display.getWidth() " + display.getHeight());
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
Log.d("Test126","DisplayMetrics.widthPixels " + displayMetrics.widthPixels);
Log.d("Test126","DisplayMetrics.heightPixels " + displayMetrics.heightPixels);
Log.d("Test126","DisplayMetrics.density " + displayMetrics.density);
Log.d("Test126","DisplayMetrics.densityDpi " + displayMetrics.densityDpi);
Log.d("Test126","DisplayMetrics.scaledDensity " + displayMetrics.scaledDensity);
Log.d("Test126","DisplayMetrics.xdpi " + displayMetrics.xdpi);
Log.d("Test126","DisplayMetrics.ydpi " + displayMetrics.ydpi);
}
}
![]()
するとこのような結果になった。HTC Desireの物理的な画面サイズは800×480ドットだが、取得できたサイズは533×320ドット。
01-21 00:22:41.873: DEBUG/Test126(8149): Display.getWidth() 533 01-21 00:22:41.873: DEBUG/Test126(8149): Display.getWidth() 320 01-21 00:22:41.873: DEBUG/Test126(8149): DisplayMetrics.widthPixels 533 01-21 00:22:41.873: DEBUG/Test126(8149): DisplayMetrics.heightPixels 320 01-21 00:22:41.873: DEBUG/Test126(8149): DisplayMetrics.density 1.5 01-21 00:22:41.873: DEBUG/Test126(8149): DisplayMetrics.densityDpi 240 01-21 00:22:41.873: DEBUG/Test126(8149): DisplayMetrics.scaledDensity 1.5 01-21 00:22:41.873: DEBUG/Test126(8149): DisplayMetrics.xdpi 254.0 01-21 00:22:41.873: DEBUG/Test126(8149): DisplayMetrics.ydpi 254.0
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.Test126"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Test126Act"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="4"/>
</manifest>
01-21 00:23:46.933: DEBUG/Test126(8221): Display.getWidth() 800 01-21 00:23:46.933: DEBUG/Test126(8221): Display.getWidth() 480 01-21 00:23:46.933: DEBUG/Test126(8221): DisplayMetrics.widthPixels 800 01-21 00:23:46.933: DEBUG/Test126(8221): DisplayMetrics.heightPixels 480 01-21 00:23:46.933: DEBUG/Test126(8221): DisplayMetrics.density 1.5 01-21 00:23:46.933: DEBUG/Test126(8221): DisplayMetrics.densityDpi 240 01-21 00:23:46.933: DEBUG/Test126(8221): DisplayMetrics.scaledDensity 1.5 01-21 00:23:46.933: DEBUG/Test126(8221): DisplayMetrics.xdpi 254.0 01-21 00:23:46.933: DEBUG/Test126(8221): DisplayMetrics.ydpi 254.0
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.Test126"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Test126Act"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />
</manifest>
01-21 00:24:52.513: DEBUG/Test126(8294): Display.getWidth() 800 01-21 00:24:52.513: DEBUG/Test126(8294): Display.getWidth() 480 01-21 00:24:52.513: DEBUG/Test126(8294): DisplayMetrics.widthPixels 800 01-21 00:24:52.513: DEBUG/Test126(8294): DisplayMetrics.heightPixels 480 01-21 00:24:52.513: DEBUG/Test126(8294): DisplayMetrics.density 1.5 01-21 00:24:52.513: DEBUG/Test126(8294): DisplayMetrics.densityDpi 240 01-21 00:24:52.513: DEBUG/Test126(8294): DisplayMetrics.scaledDensity 1.5 01-21 00:24:52.513: DEBUG/Test126(8294): DisplayMetrics.xdpi 254.0 01-21 00:24:52.513: DEBUG/Test126(8294): DisplayMetrics.ydpi 254.0
プロジェクトファイルをダウンロード
