【问题标题】:Android relative layout positioningAndroid相对布局定位
【发布时间】:2014-02-14 07:05:14
【问题描述】:

我有这个代码,

    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);

谁能告诉我为什么我会得到这个?按钮位于文本字段上方,但其上边距更多。

【问题讨论】:

  • 你应该考虑使用 LinearLayout 而不是 RelativeLayout

标签: android android-layout position positioning android-relativelayout


【解决方案1】:

添加这一行

lParamsForSignInButton(ALIGN_PARENT_TOP);

之前

signInButton.setLayoutParams(lParamsForSignInButton);

【讨论】:

  • 前段时间我也遇到过类似的问题... ;)
猜你喜欢
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多