手勢(shì)(Gesture)

以下是要用到的主要的類

1.GestureDetector類的實(shí)例代表一個(gè)手勢(shì)檢測(cè)器,創(chuàng)建這個(gè)實(shí)例時(shí)要傳入一個(gè)GestureDetector.OnGestureListener監(jiān)聽器;

2.GestureLibrary和GestureLibraries類,GestureOverlayView組件;GestureLibrary是一個(gè)手勢(shì)庫(kù),可以理解為保存手勢(shì)的類,GestureLibraries是一個(gè)工具

類為GestureLibrary創(chuàng)建實(shí)例。 *GestureOverlayView是手勢(shì)編輯組件,可以理解為我們平常畫圖的筆,經(jīng)常用的監(jiān)聽器是

是在手勢(shì)事件完成時(shí)提供響應(yīng), public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture)這是它提供的方法,gesture就是我們畫的手勢(shì)。

3.TextToSpeech(TTL)類是android提供的自動(dòng)朗讀的一個(gè)類;

以上類的用法

1. GestureDetector

??? 第一步:創(chuàng)建實(shí)例GestureDetector detector = new GestureDetector(this,this);讓主類 implements

??? GestureDetector.OnGestureListener。它包含的處理事件有 onDown(MotionEvent e)當(dāng)觸碰事件按下時(shí)觸發(fā)該方法

??? onShowPress(MotionEvent e)當(dāng)用戶手指按下還未松開和移動(dòng)時(shí)觸發(fā)

?? onSingleTapUp(MotionEvent e)用戶手指輕擊觸摸屏?xí)r觸發(fā)

?? onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)手指在觸摸屏滾動(dòng)時(shí)觸發(fā)

?? onLongPress(MotionEvent e)長(zhǎng)按時(shí)觸發(fā)

?? onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)手指在觸摸屏上“拖過(guò)”時(shí)觸發(fā),

?? velocityX,velocityY為速度。

?? 第二步:把Activity的TouchEvent事件交給GestureDetector處理

?? @Override

?? public boolean onTouchEvent(MotionEvent event) {

?????? return detector.onTouchEvent(event);

?? }

?? 2. GestureLibrary和GestureLibraries類,GestureOverlayView組件;

????? GestureLibraries有如下幾個(gè)靜態(tài)方法來(lái)創(chuàng)建GesureLibrary的實(shí)例:

???? fromFile(String path)從path代表的文件中加載手勢(shì)庫(kù)

???? fromFile(File path)從path代表的文件中加載手勢(shì)庫(kù)

???? fromPrivateFile(Context context, String name)從指定應(yīng)用程序的數(shù)據(jù)文件夾的name文件中加載手勢(shì)庫(kù)

???? fromRawResource(Context context, int resourceId)從resourceId所代表的資源中加載手勢(shì)庫(kù)

???? GestureLibraries提供了對(duì)手勢(shì)添加等方法:

???? addGesture(String entryName, Gesture gesture)添加一個(gè)名為entryName的手勢(shì)。

???? ArrayListrecognize(Gesture gesture)從當(dāng)前手勢(shì)庫(kù)中識(shí)別與gesture匹配的全部手勢(shì)

???? boolean save()對(duì)手勢(shì)庫(kù)進(jìn)行添加,刪除后要用此方法進(jìn)行保存

???? 其他刪除等方法可以查詢API;

???? GestureOverlayView在布局中使用


在Activity中獲得


圖片描述

根據(jù)上圖中的onGesturePerformed(GestureOverlayView overlay, Gesture gesture)就可以用GestureLibrary和GestureLibraries類對(duì)gesture進(jìn)行操作了

3.TextToSpeech(TTL)類

第一步:創(chuàng)建實(shí)例, TextToSpeech textToSpeech = new TextToSpeech(this, new TextToSpeech.OnInitListener() {

@Override

public void onInit(int status) {

if(status == TextToSpeech.SUCCESS){}//判斷TTS引擎是否裝載成功

}

});

第二步:設(shè)置語(yǔ)言,textToSpeech.setLanguage(Locale.US);不支持中文,

int result = textToSpeech.setLanguage(Locale.US);

if(result != TextToSpeech.LANG_COUNTRY_AVAILABLE && result != TextToSpeech.LANG_AVAILABLE){}//判斷設(shè)置的語(yǔ)言是否可用

第三步:調(diào)用 speak()或者synthesizeToFile()方法

speak(CharSequence text, int queueMode, Bundle params, String utteranceId)第二個(gè)參數(shù)是有兩種模式TextToSpeech.QUEUE_ADD是添加到當(dāng)前隊(duì)列之后,TextToSpeech.QUEUE_FLUSH中斷當(dāng)前任務(wù),執(zhí)行當(dāng)前新的語(yǔ)音任務(wù)。

synthesizeToFile(CharSequence text, Bundle params, File file, String utteranceId)

第四步:關(guān)閉TTS,回收資源,textToSpeech.shutdown();

簡(jiǎn)單demo:https://github.com/islaughing/GestureStudio.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,936評(píng)論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,537評(píng)論 19 139
  • 一、概述當(dāng)用戶觸摸屏幕的時(shí)候,會(huì)產(chǎn)生許多手勢(shì),例如down,up,scroll,filing等等。一般情況下,我們...
    GB_speak閱讀 20,931評(píng)論 1 18
  • 1.index.js創(chuàng)建模塊和控制器 2.綁定模塊 和控制器 3.控制器添加標(biāo)題屬性 4.控制器定義任務(wù)數(shù)組屬性 ...
    codeTao閱讀 297評(píng)論 0 0
  • 六月的天氣,有些燥熱,有些沉悶,有些陰郁,抬頭仰望天空,有不知名的白色鳥兒從天際飛過(guò),劃破蒼穹,如時(shí)光荏苒。 又是...
    奔跑的鳥閱讀 277評(píng)論 1 1

友情鏈接更多精彩內(nèi)容