拍照过程:
首先来看下拍照按键的点击按钮事件:
ShutterButton.java
protected void drawableStateChanged() {
super.drawableStateChanged();
final boolean pressed = isPressed();
if (pressed != mOldPressed) {
if (!pressed) {
// When pressing the physical camera button the sequence of
// events is:
// focus pressed, optional camera pressed, focus released.
// We want to emulate this sequence of events with the shutter
// button. When clicking using a trackball button, the view
// system changes the drawable state before posting click
// notification, so the sequence of events is:
// pressed(true), optional click, pressed(false)
// When clicking using touch events, the view system changes the
// drawable state after posting click notification, so the
// sequence of events is:
// pressed(true), pressed(false), optional click
// Since we're emulating the physical camera button