Android相对布局定位

Android相对布局定位,android,android-layout,position,positioning,android-relativelayout,Android,Android Layout,Position,Positioning,Android Relativelayout,我有这个密码 DisplayMetrics display = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(display); _screenHeight = display.heightPixels; ... int eFieldTopMargin = (int)(_screenHeight*0.25); int pFieldTopMargin

我有这个密码

    DisplayMetrics display = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(display);
    _screenHeight = display.heightPixels;

    ...

    int eFieldTopMargin = (int)(_screenHeight*0.25);
    int pFieldTopMargin = (int)(_screenHeight*0.25+90);
    int signInButtonTopMargin = (int)(_screenHeight*0.25+180);

    RelativeLayout.LayoutParams lParamsForEField = (LayoutParams) eField.getLayoutParams();
    RelativeLayout.LayoutParams lParamsForPField = (LayoutParams) pField.getLayoutParams();
    RelativeLayout.LayoutParams lParamsForSignInButton = (LayoutParams) signInButton.getLayoutParams();

    lParamsForEField.setMargins(0, eFieldTopMargin, 0, 0);
    eField.setLayoutParams(lParamsForEField);

    lParamsForPField.setMargins(0, pFieldTopMargin, 0, 0);
    pField.setLayoutParams(lParamsForPField);

    lParamsForSignInButton.setMargins(0, signInButtonTopMargin, 0, 0);
    signInButton.setLayoutParams(lParamsForSignInButton);
谁能告诉我为什么我会得到这个?按钮位于文本字段上方,但其上边距更大

添加这一行

lParamsForSignInButton(ALIGN_PARENT_TOP);
以前

signInButton.setLayoutParams(lParamsForSignInButton);

你应该考虑使用线性布局,而不是RelativeLayoutI一段时间以前通过类似的问题……;