网上看了一堆关于bounds的文章,大多是引用一张通用的图片,实际上bounds的可以简单的概括起来只有两方面
1 当我们通过 setBounds 方法设置bounds的 初始化位置 即 x,y
2 当我们通过 setBounds 方法修改bounds的 大小 即 width 和 height
3 当我们通过 setBounds 方法同时修改上面的两个属性的时候
情况一
众所周知 bounds 是相当于自己本身的坐标系统,每一个控件只有一个默认的bounds,即(0,0,width,height),当我们修改bounds的时候。修改了x,y的时候也就相当于把该视图最左上角的点的左边改为了(X1,Y1,width, height),所以会导致加到它上面的子实图的frame发生变化
情况二
修改 width, height 的大小,记住一点即可,那就是该视图的center(相对于父视图的信息)不会发生变化,即中心点的位置是不变的,这一点在放大和缩小的时候很重要,比如之前的width,height(100, 100), 先修改为(200, 200), 实际就是他的左右上下都同时加50, 即 width = (oright)width+50*2, height = (oright)height+50*2, 同时x = (oright)x-50, y = (oright)y - 50, 相当于膨胀变大了,该视图的frame也相应变化了
情况三
按照上述的两种情况以此类推.....
时间: 2024-11-05 17:27:12