• Android 手势



    //定义布局

    <
    RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <android.gesture.GestureOverlayView android:id="@+id/gestureOverlayView_main" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
    public class MainActivity extends Activity {
    
    	private GestureOverlayView gestureOverlayView = null;
    
    	private void initView() {
    		gestureOverlayView = (GestureOverlayView) findViewById(R.id.gestureOverlayView_main);
    	}
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		initView();
    		// 添加
    		// gestureOverlayView
    		// .addOnGesturePerformedListener(new OnGesturePerformedListener() {
    		//
    		// // 手势绘制完毕回调
    		// @Override
    		// public void onGesturePerformed(GestureOverlayView overlay,
    		// Gesture gesture) {
    		// // TODO Auto-generated method stub
    		// // 手势库
    		// // 获取手势库对象的方法
    		// GestureLibrary gestureLibrary = GestureLibraries.fromFile(Environment
    		// .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
    		// + File.separator + "shoushi");
    		// // 要给每一个手势命名,也就是在一个手势库当中,可以还有多个手势
    		// gestureLibrary.addGesture("wuxing", gesture);
    		//
    		// // 把已经在手势库对象中的手势保存到文件当中,返回值代表成功失败
    		// boolean flag = gestureLibrary.save();
    		// if (flag) {
    		// Toast.makeText(getApplicationContext(), "添加成功",
    		// Toast.LENGTH_SHORT).show();
    		// }else{
    		// Toast.makeText(getApplicationContext(), "添加失败",
    		// Toast.LENGTH_SHORT).show();
    		// }
    		// }
    		// });
    
    		// 匹配
    		gestureOverlayView
    				.addOnGesturePerformedListener(new OnGesturePerformedListener() {
    
    					@Override
    					public void onGesturePerformed(GestureOverlayView overlay,
    							Gesture gesture) {
    						// TODO Auto-generated method stub
    						GestureLibrary gestureLibrary = GestureLibraries.fromFile(Environment
    								.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
    								+ File.separator + "shoushi");
    						// 如果加载成功了,就开始匹配逻辑。
    						if (gestureLibrary.load()) {
    							// 用一个已知的手势去寻找可以匹配的手势,返回成一个手势的集合
    							ArrayList<Prediction> list = gestureLibrary
    									.recognize(gesture);
    
    							if (list != null && list.size() > 0) {
    								for (int i = 0; i < list.size(); i++) {
    									Toast.makeText(
    											getApplicationContext(),
    											list.get(i).name + ":"
    													+ list.get(i).score,
    											Toast.LENGTH_SHORT).show();
    								}
    							} else {
    								Toast.makeText(getApplicationContext(),
    										"没有匹配到", Toast.LENGTH_SHORT).show();
    							}
    
    						} else {
    							Toast.makeText(getApplicationContext(), "加载失败",
    									Toast.LENGTH_SHORT).show();
    						}
    
    					}
    				});
    
    	}
    
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		// Inflate the menu; this adds items to the action bar if it is present.
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}
    
    }
    

      

  • 相关阅读:
    HTML5标签的标准属性
    HTML页面莫名宽了一点
    HTTP通信基础HTTP协议数据结构分析
    JSONDecodeError: Expecting value: line 1 column 1 (char 0)
    linux 下安装redis报错解决
    单元测试unittest
    python嵌套循环练习
    python操作MySQL
    Open XML for Office developers
    在线处理页面内容
  • 原文地址:https://www.cnblogs.com/qcgAd/p/5212027.html
Copyright © 2020-2023  润新知