获取父级宽度和高度

iSu*_*Sun 4 layout android

我已经LinearLayout根据父视图创建了一个自定义视图,我需要根据父视图计算布局宽度和高度,但每次使用时((View)this.getParent()).getMeasuredWidth()我都会0- 我想我过早地调用了这个函数!

有关如何实现此功能的任何想法?

Har*_*dik 10

试试这个

ViewTreeObserver viewTreeObserver = view.getViewTreeObserver();
if (viewTreeObserver.isAlive()) {
  viewTreeObserver.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
      view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
      viewWidth = view.getParent().getWidth();
      viewHeight = view.getParent().getHeight();
    }
  });
}
Run Code Online (Sandbox Code Playgroud)


Her*_*era -1

如果您的视图父级有布局参数"android:layout_width="wrapContent",您将无法获取宽度。