我有一个Android对话框,我想将其放在窗口的特定位置。

我正在使用API​​ 8

int a == -2int b == 153为什么不是正数?

之间有什么区别

getLayoutParams().height;
    mToolTipLayout.getHeight();


我有以下代码

  public void initViews(int orientation) {

    mToolTipLayout = ((LinearLayout) findViewById(R.id.tooltip_layout));

    ViewTreeObserver vto = mToolTipLayout.getViewTreeObserver();
    vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
      @Override
      public void onGlobalLayout() {
        mToolTipLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
        setPosition();
      }
    });


  private void setPosition() {
    int a = mToolTipLayout.getLayoutParams().height;
int b = mToolTipLayout.getHeight();

  }

最佳答案

布局参数指定度量和布局过程应如何工作。在度量/布局过程中不会更新它们。 -2WRAP_CONTENT的值。

度量本身在视图本身中可用,而不在布局参数中可用。 153是您所测量的像素高度,以WRAP_CONTENT规格测量。

07-27 14:00