我正在编写一个自定义组件,ViewGroup
强制内部视图的大小:
myView.getLayoutParams().width = (int) itemSize;
myView.getLayoutParams().height = (int) itemSize;
myView.requestLayout();
但在内部视图中,仅当新尺寸小于旧尺寸时才会调用onSizeChanged()
事件,如果itemSize
大于当前尺寸,则不会调用onSizeChanged()
太奇怪了......
修改
我更改ViewGroup onLayout()
内的宽度/高度。这是改变内部视图大小的正确方法吗?
编辑2
问题仅出现在我的Asus选项卡(Android 4.2.2)上。在我的nexus 5手机(Android 5.0)上一切正常。
答案 0 :(得分:0)
您需要致电setLayoutParams
。
myView.getLayoutParams().width = (int) itemSize;
myView.getLayoutParams().height = (int) itemSize;
myView.setLayoutParams(myView.getLayoutParams());