解決済み:
Zoltán が書いたように、私はステータスバーとタイトルバーを考慮しませんでした (どちらも高さ 25 です)。
Activity 内の onClickListener メソッドで次のコードを使用し、結果を Service クラスに転送して出力しました。
Rect rectgle = new Rect();
Window window = getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
int StatusBarHeight = rectgle.top;
int contentViewTop = window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
int TitleBarHeight = contentViewTop - StatusBarHeight;
serviceIntent.putExtra("Titlebarheight", Integer.toString(TitleBarHeight));
serviceIntent.putExtra("Statusbarheight", Integer.toString(StatusBarHeight));
-------------------------------------------------- ------------------------------------------------------
main.xmlでImageView のレイアウトの高さを設定しようとしていますが、layout_height を 270dp (または px) に設定すると、画面全体が上から下までいっぱいになりますが、画面サイズは実際には 320x240 (HTC マジック- Android 1.5) - 画面を上から下までいっぱいにしないでください。
アクティビティ内のコード:
Display display = getWindowManager().getDefaultDisplay();
Log.i("Screen height", Integer.toString(display.getHeight())); // Returns 320
Log.i("Screen width", Integer.toString(display.getWidth())); // Returns 240
main.xml 内のコード:
<ImageView
android:id="@+id/bitmapImageView"
android:layout_height="270dp" // Fills up the whole screen from top to bottom
android:layout_width="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="#FFFFFF"
android:src="@drawable/ic_launcher" />
なぜこうなった?どうすれば修正できますか?
レイアウトの高さとして 270 を使用する場合の例:
レイアウトの高さとして 240 を使用する場合の例: