Android按键音(焦点)

来源:互联网 发布:经纬度查询定位软件 编辑:程序博客网 时间:2024/06/05 17:14

一、两处调用playSoundEffect:

其一:继承ViewGroup类的子类内部View切换;例如ViewPager

frameworks/support/v4/java/android/support/v4/view/ViewPager.java

public boolean dispatchKeyEvent(KeyEvent event) {  // Let the focused view and/or our descendants get the key first  return super.dispatchKeyEvent(event) || executeKeyEvent(event);}public boolean executeKeyEvent(KeyEvent event) {  handled = arrowScroll(FOCUS_LEFT);}public boolean arrowScroll(int direction) {  if (handled) {    playSoundEffect(SoundEffectConstants.getContantForFocusDirection(direction));  }}

其二:ViewRootImpl完成两个ViewGroup的切换

frameworks/base/core/java/android/view/ViewRootImpl.java

private int processKeyEvent(QueuedInputEvent q) {  if (mView.dispatchKeyEvent(event)) {    Log.d(TAG,"mView.dispatchKeyEvent()== true,return finished");    return FINISH_HANDLED;  }  if (v.requestFocus(direction, mTempRect)) {    Log.d("ViewRootImpl","TK--------->>>>>requestFcous>>playSoundEffect");//add by tank@tcl.com    playSoundEffect(SoundEffectConstants.getContantForFocusDirection(direction));    return FINISH_HANDLED;  }}



0 0
原创粉丝点击