微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android屏幕页面的滑动切换和抽取父类

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

    import android.app.Activity;  
    import android.content.SharedPreferences;  
    import android.os.Bundle;  
    import android.view.GestureDetector;  
    import android.view.MotionEvent;  
    import android.view.View;  
    import android.view.GestureDetector.SimpleOnGestureListener;  
    import android.widget.Toast;  
    //定义抽象方法showNext,由基类根据需要实现,其注意功能就是滑动切换,可以按123步骤学习  
    public abstract class BaseSetupActivity extends Activity {  
        //1.定义一个手势识别器  
            private GestureDetector detector;  
              
            protected SharedPreferences sp;  
            @Override  
            protected void onCreate(Bundle savedInstanceState) {  
                // Todo Auto-generated method stub  
                super.onCreate(savedInstanceState);  
                sp = getSharedPreferences("config",MODE_PRIVATE);  
                //2.实例化这个手势识别器,GestureDetector.SimpleOnGestureListener需要单独引用  
                detector = new GestureDetector(this,new SimpleOnGestureListener(){  
      
                    /** 
                     * 当我们的手指在上面滑动的时候回调 
                     */  
                    @Override  
                    public boolean onFling(MotionEvent e1,MotionEvent e2,float veLocityX,float veLocityY) {  
                          
                        //屏蔽在X滑动很慢的情形  
                        if(Math.abs(veLocityX)<300){  
                            Toast.makeText(getApplicationContext(),"滑动得太慢了",0).show();  
                            return true;  
                        }  
                          
                        //屏蔽斜滑这种情况  
                        if(Math.abs((e2.getRawY() - e1.getRawY())) > 100){  
                            Toast.makeText(getApplicationContext(),"不能这样滑",0).show();  
                              
                            return true;  
                        }  
                          
                        if((e2.getRawX() - e1.getRawX())> 200 ){  
                            //显示一个页面:从左往右滑动  
                            System.out.println("显示一个页面:从左往右滑动");  
                            showPre();  
                            return true;  
                              
                        }  
                          
                        if((e1.getRawX()-e2.getRawX()) > 200 ){  
                            //显示一个页面:从右往左滑动  
                            System.out.println("显示一个页面:从右往左滑动");  
                            showNext();  
                            return true;  
                        }  
                          
                        return super.onFling(e1,e2,veLocityX,veLocityY);  
                    }  
                      
                });  
            }  
              
            public abstract void showNext();  
            public abstract void showPre();  
            /** 
             * 下一步的点击事件 
             * @param view 
             */  
            public void next(View view){  
                showNext();  
                  
            }  
              
            /** 
             *   上一步 
             * @param view 
             */  
            public void pre(View view){  
                showPre();  
                  
            }  
                  
            //3.使用手势识别器  
            @Override  
            public boolean onTouchEvent(MotionEvent event) {  
                detector.onTouchEvent(event);  
                return super.onTouchEvent(event);  
            }  
    }  

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐