【问题标题】:Get Height and Width of a child layout in contraintlayout在约束布局中获取子布局的高度和宽度
【发布时间】:2018-09-05 15:22:51
【问题描述】:

我有一个约束布局,其中有一个子布局 (frame_layout)。使用 match_constraint 将宽度和高度设置为 0dp。一旦布局加载到屏幕上,我们如何获得这个 frame_layout 的高度和宽度?使用 layoutparams 给出 0dp。 getWidth 或 getHeight 再次给出 0dp。

【问题讨论】:

  • 匹配约束将根据屏幕大小调整大小,因此在 oncreate 方法完成后,如果您尝试获取宽度和高度,它应该具有视图大小。或者使用延迟在 oncreate 中获取价值。

标签: android android-constraintlayout


【解决方案1】:
final FrameLayout layout = (FrameLayout) findViewById(R.id.YOUR_VIEW_ID);
ViewTreeObserver vto = layout.getViewTreeObserver(); 
vto.addOnGlobalLayoutListener (new OnGlobalLayoutListener() { 
    @Override 
    public void onGlobalLayout() {
        layout.getViewTreeObserver().removeOnGlobalLayoutListener(this); 
        int width  = layout.getMeasuredWidth();
        int height = layout.getMeasuredHeight(); 

    } 
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 2013-06-01
    相关资源
    最近更新 更多