1、什么是ToggleButton?
android.widget.ToggleButton--->android.widget.CompoundButton--->android.widget.Button
ToggleButton是一种有开和关两种状态的Button;
有android:TextOn和android:TextOff属性;
当click event发生后,ToggleButton会自动切换状态。
在Android 4.0中,封装了一个苹果风格的控件,叫Switch。
2、为什么要用ToggleButton?
当需要开关类的Button(比如打开关闭)时,用Toggle Button再合适不过了。
3、ToggleButton的响应处理
通过android的OnClick属性;或者android.view.view的OnClickListener;或者android.widget.CompoundButton.OnCheckedChangeListener都可以响应ToggleButton。
通过ToggleButton.isChecked可以得到ToggleButton的状态。(是改变后的状态)
在实际应用中,一般要根据条件来决定是否改变button的状态,处理方法时用ToggleButton.setChecked再改回来。
经测试是OK的,当click event handler完成后,Toggle Button才会根据状态刷新。
4、OnCheckedChangeListener和OnClickListener的差异
当click event handler后,toggle button的状态已经改变,会先回调OnCheckedChangeListener,再回调OnClickListener,最后在刷新显示。