編輯:關於Android編程
使用SDK自帶例子GestureBuilder建立手勢庫(位置:android-sdk-windows\samples\android-8\GestureBuilder)。使用GestureBuilder之前,你需要恢復其到開發環境,然後進行編繹並部署到手機上。此時,就可以使用GestureBuilder建立手勢庫,生成的手勢庫文件在SCDard上,默認文件名稱為:gestures
1、把手勢庫文件gestures文件拷貝到項目的res/raw目錄下。然後在布局文件中添加用於手勢繪制的2、設置布局:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
android:id="@+id/gestures"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gestureStrokeType="multiple"//設置為的多比劃,默認是一比劃。
android:layout_weight="10" />//設置組件的顯示優先級,值越小優先級越高。
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="recognize"
android:text="識別" />
3、業務代碼:
//手勢的activity類
public class DemoActivityextends Activity {
private GestureOverlayView gestures;
private Gesture myGesture;
private GestureLibrary library;
@Override
public void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//獲取組件
gestures = (GestureOverlayView)this.findViewById(R.id.gestures);
加載手勢庫:目錄在res/raw/gestures
library = GestureLibraries.fromRawResource(this, R.raw.gestures);
//添加手勢組件的監聽
gestures.addOnGestureListener(newOnGestureListener() {
//手勢開始 的時候對應的回調
public void onGestureStarted(GestureOverlayView overlay,MotionEvent event) {
System.out.println("onGestureStarted");
}
//手勢結束的時候對應的回調(圖形畫好時的回調函數)
public void onGestureEnded(GestureOverlayView overlay,MotionEvent event) {
// TODO Auto-generatedmethod stub
System.out.println("onGestureEnded");
//獲取在界面上所畫的Gesture
myGesture =overlay.getGesture();
}
//手勢取消的時候對應的回調
public void onGestureCancelled(GestureOverlayView overlay,MotionEvent event) {
}
//手指在屏幕上畫手勢的時候 對應的回調
public void onGesture(GestureOverlayView overlay, MotionEventevent) {
// TODO Auto-generatedmethod stub
System.out.println("onGesture");
}
});
}
//點擊按鈕的事件方法:
public void recognize(View view){
//加載手勢到手勢庫中。
library.load();
//識別剛才畫的手勢:按相似度放在集合中,集合中第一個元素是相似度最高的
ArrayList
//把匹配度最高的條目獲取出來
Predictionpredition = predictions.get(0);
//手勢的相似度大於等於5,就符合要求
if(predition.score>=5){
//predition.name:獲取手勢的名字
if("call".equals(predition.name)){
//撥打電話
Intentintent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:13512345678"));
startActivity(intent);
}else if("close".equals(predition.name)){
//關閉當前的程序,即關閉當前的activity
finish();// 跟用戶在手機上點擊後退鍵的操作是一樣的
}else if("toast".equals(predition.name)){
Toast.makeText(this,"我是土司", 0).show();
}
}else{
Toast.makeText(this, "收拾不能被識別", 0).show();
}
//清除手勢
gestures.clear(true);
//取消手勢
//gestures.cancelGesture();
}
}
在
(1)選用radioGroup的圖標 (2)控制的類是 package com.lc.radiobutt
1.前言隨著項目的快速迭代,往往上一個版本正在測試中,下一個版本已經開始開發了和版本追溯了。目前移動客戶端還沒有版本管理控制上形成一套有效的管理體系,希望能通過此文檔的整
最近寫了一個簡單的朋友圈程序,包含了朋友圈的列表實現,視頻的錄制、預覽與上傳,圖片可選擇拍照或者從相冊選取,從相冊選取可以一次選擇多張照片,並且限制照片的張數,想擁有真正
Activity:package com.wkk.app8;import android.annotation.TargetApi;import android.app.