Android开发中的onSizeChanged()方法是用于获取控件尺寸改变时的回调方法,它会在控件尺寸发生改变时被调用。
onSizeChanged()方法调用时机
1、当控件大小发生改变时,onSizeChanged()方法会被调用,比如在屏幕旋转时,控件的大小会发生改变,此时onSizeChanged()方法会被调用。
2、当控件的布局参数发生改变时,onSizeChanged()方法也会被调用,比如调用setLayoutParams()方法改变控件的布局参数,此时onSizeChanged()方法会被调用。
3、当控件的父容器大小发生改变时,onSizeChanged()方法也会被调用,比如父容器大小发生改变,此时onSizeChanged()方法会被调用。
4、当控件的父容器的布局参数发生改变时,onSizeChanged()方法也会被调用,比如调用setLayoutParams()方法改变父容器的布局参数,此时onSizeChanged()方法会被调用。
onSizeChanged()方法使用方法
onSizeChanged()方法的使用方法非常简单,只需要在自定义控件中重写onSizeChanged()方法,在onSizeChanged()方法中实现控件尺寸改变时的操作即可。
@Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); // 在这里实现控件尺寸改变时的操作 }
onSizeChanged()方法的参数w和h分别表示控件的宽度和高度,参数oldw和oldh分别表示控件之前的宽度和高度,通过比较w和h与oldw和oldh,就可以知道控件的宽度和高度是否发生了变化。