gpt4 book ai didi

android - 在 Android 4.3.3 上手动更改布局宽度/高度后未调用 onSizeChanged()(在 Android 5.0 上正常)

转载 作者:太空狗 更新时间:2023-10-29 15:00:39 26 4
gpt4 key购买 nike

我正在编写一个自定义组件,一个强制内部 View 大小的 ViewGroup:

myView.getLayoutParams().width = (int) itemSize;
myView.getLayoutParams().height = (int) itemSize;
myView.requestLayout();

但在内部 View 中,只有当新尺寸小于旧尺寸时才会调用 onSizeChanged() 事件,如果 itemSize 大于当前尺寸, onSizeChanged() 未被调用。

好奇怪...

编辑

我更改了 ViewGroup onLayout() 中的宽度/高度。这是更改内部 View 大小的正确方法吗?

编辑 2

问题只出现在我的 Asus tab (Android 4.2.2) 上。在我的 Nexus 5 手机 (Android 5.0) 上一切正常。

最佳答案

您需要调用setLayoutParams

myView.getLayoutParams().width = (int) itemSize;
myView.getLayoutParams().height = (int) itemSize;
myView.setLayoutParams(myView.getLayoutParams());

关于android - 在 Android 4.3.3 上手动更改布局宽度/高度后未调用 onSizeChanged()(在 Android 5.0 上正常),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27227945/

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