中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Android屏幕頁面的滑動切換和抽取父類

2018-07-20    來源:open-open

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

因為頁面的滑動效果在整個應(yīng)用中使用較多,所有抽取成父類來介紹,看代碼注釋

    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,由基類根據(jù)需要實現(xiàn),其注意功能就是滑動切換,可以按123步驟學(xué)習(xí)  
    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(){  
      
                    /** 
                     * 當(dāng)我們的手指在上面滑動的時候回調(diào) 
                     */  
                    @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);  
            }  
    }  

標(biāo)簽: 代碼

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:Python發(fā)郵件代碼

下一篇:JavaScript將首字母轉(zhuǎn)成大寫