可以通過android sdk訪問glass觸控板的原始資料。但gdk提供乙個
gesture detector ,可以自動識別通用手勢,包括觸控、滑動和滾動。
通過d-pad keys識別手勢
預設情況下,glass系統會將簡單的手勢轉換為d-pad keys事件。可以監聽onkeydown() 和 onkeyup() 事件來處理d-pad keys:
1、觸控事件轉義為 keycode_dpad_center
2、相機按鈕按下事件轉義為 keycode_camera.
3、下滑事件轉移為 keycode_back
這是一小段觸控事件的**:
public class myactivity extends activity
...return false;
}}
通過gesture detector識別
使用gesture detector可以識別更多複雜的手勢,例如多點觸控或滾動。複雜的手勢沒有對應的d-pad key。
你可以實現 gesturedetector 提供的監聽介面來通知 gesture
識別activity層級的手勢
1、建立乙個 gesturedetector 的監聽來處理識別的手勢
2、重寫activity的 ongenericmotionevent() 方法,傳入motion events給gesture detector的onmotionevent()方法
當乙個motion時間發生時,系統將它傳給gesture detector。如果被識別了,gesture detector通知相關的監聽介面來處理事件。
public class mainactivity extends activity
private gesturedetector creategesturedetector(context context) else if (gesture == gesture.two_tap) else if (gesture == gesture.swipe_right) else if (gesture == gesture.swipe_left)
return false;
}});
gesturedetector.setfingerlistener(new gesturedetector.fingerlistener()
});gesturedetector.setscrolllistener(new gesturedetector.scrolllistener()
});return gesturedetector;}/*
* send generic motion events to the gesture detector
*/@override
public boolean ongenericmotionevent(motionevent event)
return false;
}}
識別view層級的手勢
1、建立 乙個自定義view並重寫 dispatchgenericfocusedevent() 方法。當乙個motion 時間發生時,這個方法傳入motion事件給gesture detector。
2、設定view為focusable ,以便當view獲取焦點的時候能檢測到事件。
3、建立乙個 gesturedetector 的監聽來處理識別的手勢
當gesture detector識別到乙個motion 的時候,gesture detector通知相關的監聽介面來處理事件。
/**
* textview that handles touchpad input (currently only tap).
*/public class touchpadhandlingtextview extends textview
implements onattachstatechangelistener
public touchpadhandlingtextview(context context)
@override
public void onviewattachedtowindow(view v)
@override
public void onviewdetachedfromwindow(view v)
/*** pass a motionevent into the gesture detector
*/@override
public boolean dispatchgenericfocusedevent(motionevent event)
return super.dispatchgenericfocusedevent(event);
}/**
* create gesture detector that triggers onclicklistener. implement
* onclicklistener in your activity and override
* onclick() to handle the "tap" gesture.
*/private gesturedetector creategesturedetector(context context)
return false;
}});
return gd;
}}
Struts開發指南之安裝與使用
struts開發指南之安裝與使用 struts可以執行在任何乙個支援jsp1.2和servlet2.3的web container中struts將所有的請求提交到同乙個中心控制器,org.apache.struts.action.actionservlet 類 web.xml配置 servlet n...
OpenTSDB 開發指南之 Api運算元據
引數 說明example summary 返回主要摘要 api put?summary details 返回詳細資訊 api put?details sync 是否同步,即是否等待資料都寫入成功後才返回結果 api put?sync sync timeout 返回結果之前的等待時間 api put ...
Odoo開發指南之 單元測試
unittest單元測試 unittest單元測試框架不僅可以適用於單元測試,還可以適用web自動化測試用例的開發與執行,該測試框架可組織執行測試用例,並且提供了豐富的斷言方法,判斷測試用例是否通過,最終生成測試結果。今天就總結下如何使用unittest單元測試框架來進行odoo的自動化測試。uni...