我刚刚开始为我的Android手机开发新应用程序。我想获得一些基本功能,例如让Google Glass处理一些手势。
我不知道为了让玻璃处理Tap,SWIPE_LEFT或SWIPE_RIGHT而调用哪个函数。
例如,假设我想启动我的应用并让它做两次SWIPE_RIGHT。我如何从Android应用程序完成此操作?这非常像Screencast!
答案 0 :(得分:0)
1)GestureDetector用于从Glass上的触摸板获取手势。
2)GestureDetector然后有Different Listeners
3)您覆盖GenericMotionEvent(MotionEvent事件)并将其传递给您的GestureDetector
4)根据用户体验中的UI指南,您可以同时处理一个事物。
示例类:
public class MainActivity extends Activity {
GestureDetector detector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
detector = new GestureDetector(this);
detector.setBaseListener(new BaseListener() {
@Override
public boolean onGesture(Gesture arg0) {
// TODO Auto-generated method stub
openOptionsMenu();
if(arg0== Gesture.TAP)
{
Log.e("MyLog", "you tapped");
Card card=new Card(MainActivity.this);
card.setText("This is a card");
card.addImage(R.drawable.ic_launcher);
TimelineManager.from(MainActivity.this).insert(card);
}
else
{
Log.e("MyLog","You "+arg0.name());
}
return true;
}
});
}
@Override
public boolean onGenericMotionEvent(MotionEvent event) {
// TODO Auto-generated method stub
detector.onMotionEvent(event);
return false;
}
@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;
}
}