1. 程式人生 > >Android按鍵音(焦點)

Android按鍵音(焦點)

一、兩處呼叫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 
[email protected]
playSoundEffect(SoundEffectConstants.getContantForFocusDirection(direction)); return FINISH_HANDLED; } }


相關推薦

Android按鍵焦點

一、兩處呼叫playSoundEffect: 其一:繼承ViewGroup類的子類內部View切換;例如ViewPager frameworks/support/v4/java/android/support/v4/view/ViewPager.java public bo

Android開發筆記12——ListView & Adapter

dba 只顯示一行 -1 ngs 而已 整理 adapt array xxx 轉載請註明:http://www.cnblogs.com/igoslly/p/6947225.html 下一章是關於ListFragment的內容,首先先介紹ListView的相關配置,理解L

android權限permission大全

wid 刪除 tro ica guard 格式 時區 禁用 經緯度 此文章由情緒控撰寫,轉載請註明此處!!! 1.android.permission.WRITE_USER_DICTIONARY 同意應用程序向用戶詞典中寫入新詞 2.android.permissi

Android個人理解】跨應用調用不同組件的方法

返回 使用 turn 數字 現實 rpc 文件夾 cas rgb 如果情景: 創建兩個應用appA和appB,appA包括一個Service,此Service有一個堵塞方法每隔10秒鐘產生一個隨機數字,例如以下: public int getRandom

Android 編輯框EditText屬性學習

藍色 區域 password border limit 文字 all 動作 方式 EditText繼承關系:View-->TextView-->EditText  EditText的屬性非常多,這裏介紹幾個: android:hint=&qu

Android基礎筆記十三- 內容提供者原理和簡單使用

暴露 tel java 四大組件 per 存儲 建數據庫 開發 fun 為什麽要有內容提供者 內容提供者的工作原理 使用內容解析者對內容提供者進行增刪改查操作 利用內容提供者和內容解析者備份手機短信 利用內容提供者插入短信 為什麽要有內容

Android 插件之類加載器

load ron 概念 基本概念 android oid ont 基本上 style 1、類加載器基本概念   類加載器(class loader)用來加載 Java 類到 Java 虛擬機中。一般來說,Java 虛擬機使用 Java 類的方式如下:Java 源程序(.j

Android學習心得13 --- Android代碼混淆1

簽名 ref nes 三分 pen key this tool prop 我在博客上發表一些我的Android學習心得,希望對大家能有幫助。 這一篇我們講述一下最新的ADT環境下怎樣進行Android混淆 在新版本號的ADT創建項目時。混碼的文

android事件分發

sim tdi p s oat front rac ram addclass framework 非常早之前寫過一篇android事件分發的博客,主要寫的是它是怎樣分發的,具體非常多原理的東西都沒有涉及到。今天就從源代碼看android怎樣控制它的分發機

從零開始搭建android框架系列

bsp andro hup 開始 blank class and lan com 網址:從零開始搭建android框架系列 githup:https://github.com/CameloeAnthony/Ant從零開始搭建android框架系列(轉)

【轉】Android開發筆記寫在前面的目錄

animator 進程間通信 scrip cst 調用 receiver 手勢 打包 數據庫基礎 原文:http://blog.csdn.net/aqi00/article/details/50012511 知識點分類 一方面寫寫自己走過的彎路掉進去的坑,避免以後

Android View動畫 --- scale

for -- 縮放 記錄 1.0 使用 tco 關於 mod 在我們做apk開發的過程中,如果要吸引用戶,就需要要做出來一個非常炫的界面,當然動畫是必不可少的,接下來就記錄和學習動畫相關…… 接下來就把平時的一些東西,慢慢的上傳上來,做一下記錄和保存 今天要講解的第一個

Android系統架構

查詢 核心 手機 例如 ava 模塊 api 操作系統 運行   一、Android系統版本簡介   Android操作系統已占據了手機操作系統的大半壁江山,截至本文寫作時,Android操作系統系統版本及其詳細信息,已發生了變化,具體信息見下表,當然也可以訪問https:

Android之Intent

Android Intent 前一篇(Android之Intent(一))講解過A(它用來調起B界面,這裏先理解為父界面) 可以向B(這裏先理解為子界面), 本篇正好是一個逆反的過程 , 即B向A傳遞數據。 一 : 界面設計① ,A(activity_main.xml)重要控件:1‘ (TextVie

Android NDK學習:編譯腳本語法Android.mk和Application.mk

GC make files 文件的 包括 一次 opengl aries 基本語法 一、Android.mk Android.mk分為一下幾部分: LOCAL_PATH:= $(call my-dir), 返回當前文件在系統中的路徑,Android.mk文件開始時必須定義

Android Camera2 拍照——對焦模式

ask als size com ontouch eating fault tdi release 原文:Android Camera2 拍照(四)——對焦模式 本

Android Camera2 拍照——切換攝像頭,延時拍攝和閃光模式

openca any The visible surface else 提示 再次 .cn 原文:Android Camera2 拍照(三)——切換攝像頭,延時拍攝和閃光模式

Android Camera2 拍照——使用TextureView

wid metadata TE 遍歷 接口 post eating connected edit 原文:Android Camera2 拍照(二)——使用TextureView

Android SurfaceFlinger服務 ----- 消息機制MessageQueue

events on() inpu str lB 取消 onf CA andro SurfaceFlinger有著自己的消息隊列MessageQueue,用來處理顯示相關的消息,比如Vsync消息。 相關文件: frameworks/native/services/surf

Android SurfaceFlinger服務 ----- VSync信號的分發

enabled urn ram edi trac 事件 war count isp HWComposer模塊產生VSync信號後要經過分發才能送達到關心VSync事件的模塊中去。VSync信號分發大致流程為HWComposer->SurfaceFlinger->