任何问题请联系WX:uu16853

买模板送网站采集器 让你轻松放开双手运营网站!

购买更多有优惠!

GestureDetector手势识别类 – 入门篇 Android开发技术

  对于Android设备来说最主要的操作方式为触控,作为一个Android开发者来说深入了解 GestureDetector 手势识别是很有必要的,Android123今天主要介绍下该类相关的方法,以及简单的手势识别。   通常我们构造GestureDetector类时设置一个GestureDetector.OnGestureListener对象来实时监控用户的操作,OnGestureListener对象提供一些常见手势的重写方法。     @Override      public boolean onDown(MotionEvent e) {         //按下事件         return true;       }             @Override      public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {        //快速滚动         return true;       }             @Override      public void onLongPress(MotionEvent e) {           //长按     }             @Override      public […]

Android游戏开发之旅11 View中手势识别 Android开发技术

   有关Android平台的游戏开发中我们需要涉及到控制,在开始的Android游戏开发之旅中我们提到了按键和轨迹球的控制方式,从今天开始Android123开始给出大家游戏中其他的一些控制方式,比如今天的手势操作和未来重力感应。   很多网友发现Android中手势识别提供了两个类,由于Android 1.6以下的版本比如cupcake中无法使用android.view.GestureDetector,而android.gesture.Gesture是Android 1.6才开始支持的,我们考虑到仍然有很多Android 1.5固件的网友,就来看下兼容性更强的android.view.GestureDetector。在android.view.GestureDetector类中有很多种重载版本,下面我们仅提到能够自定义在View中的两种方法,分别为GestureDetector(Context context, GestureDetector.OnGestureListener listener) 和 GestureDetector(Context context, GestureDetector.OnGestureListener listener, Handler handler) 和。我们可以看到第一个参数为Context,所以我们想附着到某View时,最简单的方法就是直接从超类派生传递Context,实现GestureDetector里中提供一些接口。   下面我们就以实现手势识别的onFling动作,在CwjView中我们从View类继承,当然大家可以从TextView等更高层的界面中实现触控。 class CwjView extends View {     private GestureDetector mGD;    public CwjView(Context context, AttributeSet attrs) {        super(context, attrs);              mGD = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {                public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {                    int […]

手势识别兼容Android 1.x和2.x的代码 Android开发技术

   由于Android 2.x开始很多API变动比较大新增了一些比如多点触控的支持,对于屏幕触控手势识别中我们需要考虑更多的实现方法,下面是一段兼容Android 1.x和2.x的代码,可以让我们的程序兼容几乎99%的Android手机。   一、首先新建一个抽象类判断SDK版本问题  public abstract class VersionedGestureDetector {    private static final String TAG = "VersionedGestureDetector";     OnGestureListener mListener;     public static VersionedGestureDetector newInstance(Context context,            OnGestureListener listener) {  //设计实例化构造方法,这里Android123提示大家目前有3种API的实现方法,我们需要逐一考虑最优的解决方法,以满足高平台更多的功能实现。         final int sdkVersion = Integer.parseInt(Build.VERSION.SDK); //使用android.os.Build判断API Level,但需要将字符串转换为整形        VersionedGestureDetector detector = null;        if (sdkVersion < Build.VERSION_CODES.ECLAIR) { //如果版本小于2.0则使用1.5版本的API,可以兼容1.5和1.6            detector = new CupcakeDetector();        } else […]

100% Secure Checkout

PayPal / MasterCard / Visa