これが私のシナリオです。
解像度 320*480 で作成された画像があります (mdpi モバイルを使用していると仮定します)。この画像を背景として相対レイアウトに追加しています。
今私の画面には3つの主要なものがあります。
1- Title bar (The standard title bar of android)
2- My relative layout and its sub view image relative layout which is matched parent.
3- My menu bar at the bottom.
メニューバーとタイトルバーの間で画像が引き伸ばされているためです。画面に合わせたい。以下は私が使用しているコードです。
mainLayout.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
public void onGlobalLayout()
{
if (notCreated == true)
{
notCreated = false;
}
else
{
mnHeight = mainLayout.getHeight();
Rect rect = getRawCoordinatesRect(mainLayout);
h = getWindowManager().getDefaultDisplay().getHeight() -
- rect.top - mainLayout.getHeight();
// rect.top to remove android standard title bar
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(image.getWidth(),LayoutParams.MATCH_PARENT);
params.topMargin = -1 * rect.top;
params.bottomMargin = -1 * h;
image.setLayoutParams(params);
}
}
});
現在、これは機能していません。少し助けていただければ幸いです。
注: 実際には、画像の相対レイアウトを 320*480 に拡張したいだけです。現在、タイトル バーとメニュー バーの間に挟まれています。たとえば、現在の寸法は 320*400 です