Java 在android中设置相对布局的高度和宽度

Java 在android中设置相对布局的高度和宽度,java,android,Java,Android,这是我的设想 我有一张按照分辨率320*480制作的图像(假设我使用的是mdpi mobile)。我将此图像作为背景添加到相对布局中 现在我的屏幕有三个主要功能 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. 现在,

这是我的设想

我有一张按照分辨率320*480制作的图像(假设我使用的是mdpi mobile)。我将此图像作为背景添加到相对布局中

现在我的屏幕有三个主要功能

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

不确定它是否有用,但尝试使用
setScaleType()
尝试不同的选项

image.setScaleType(ScaleType.FIT_CENTER);

我必须诚实地说,我不完全确定你想在这里做什么。但是我假设你想把图像作为背景。。 如果这是您想要的,只需在布局文件的主布局上设置android:background=“@drawable/your_image”属性即可

如果要删除标题栏,只需将这一行添加到activity类中的onCreate方法中即可:

//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
如果要删除notificationbar,也可以在activity类的onCreate方法中执行此操作:

//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

我希望这能帮助您:-)如果这不是您想要的,那么请不要犹豫,尝试重新制定您想要的内容。

如果我没有正确解释,请检查,我已经编辑了问题。实际上,我只是想将我的图像相对布局拉伸到320*480。现在它在标题栏和我的菜单栏之间切换。现在它的尺寸是320*430试着读一下这个问题的第一个答案: