gpt4 book ai didi

java - Android 中的 onLayout() 行为

转载 作者:行者123 更新时间:2023-12-04 23:50:15 25 4
gpt4 key购买 nike

我有我的自定义 View ,它将动态添加按钮控件。在我的 onLayout方法,我有一个类似下面的逻辑。

@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
for (int i = 0; i < this.getChildCount(); i++) {
this.getChildAt(i).layout(left, top, right / 2, top + 200);
}
}

这会裁剪我的按钮控件而不是缩小。将 layout()更改 View 的宽度,否则它只会裁剪它。

我需要为 onMeasure() 中的所有 child 打电话吗? .

提前致谢。

最佳答案

是的,一般来说,度量告诉 View 有多大,布局告诉 View 在哪里。如果您在没有度量的情况下覆盖布局,则 View 将在错误的位置全尺寸绘制,并被 Canvas 裁剪。

关于java - Android 中的 onLayout() 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35266873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com