Android 手勢滑動

一: GestureDetectorhtml

http://blog.csdn.net/jjwwmlp456/article/details/21282239 寫的不錯,可是java

博文中有錯誤,正確的寫法是:android

@Overrideweb

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {ide

if (e1.getX()-e2.getX()>120) {//左滑,右邊顯示動畫

ToastUtils.showShortToast(PersonalCenterActivity2.this, "左滑,右邊顯示");this

}spa

if(e1.getX()-e2.getX()<-120) {.net

ToastUtils.showShortToast(PersonalCenterActivity2.this, "右滑,左邊顯示");orm

}

return false;

}

http://www.cnblogs.com/ok-lanyan/archive/2012/08/02/2619701.html 

二:Android的Activity屏幕切換動畫(一)-左右滑動切換:

http://www.oschina.net/question/97118_34343 

三:android開發中Webview沒法觸發手勢方法(ontouchevent,onfling...)的解決方法:

http://www.android100.org/html/201403/08/5830.html

@Override
    public boolean dispatchTouchEvent(MotionEvent ev) {    //注意這裏不能用ONTOUCHEVENT方法,否則無效的
           Toast.makeText(NewsContent.this, "jinru", 1).show();
            detector.onTouchEvent(ev);
            webview.onTouchEvent(ev);
           return super.dispatchTouchEvent(ev);
    }

適用與webview,scollview,listview。

Acitity中有listview,手勢沒法實現 :

http://www.apkbus.com/android-121113-1-1.html 

Android Activity之間切換出現短暫黑屏的處理方法:

style name="startTheme" parent="@android:style/Theme">  

        <item name="android:windowIsTranslucent">true</item>  

        <item name="android:windowNoTitle">true</item><!--無標題-->  

    </style>  

http://blog.csdn.net/toyuexinshangwan/article/details/8559253 

四:上下左右滑動衝突問題:

@Override  

        public boolean onScroll(MotionEvent e1, MotionEvent e2,  

                float distanceX, float distanceY) {  

            double angle = Math.atan2(Math.abs(distanceY), Math.abs(distanceX));  

//          System.out.println("angle-->" + (180 * angle) / Math.PI);  

            if ((180 * angle) / Math.PI < 180) {  

                return false;  

            }  

            return false;  

        } 

5、Android開發ScrollView上下左右滑動事件衝突整理二(根據角度)

http://zwnjava.iteye.com/blog/1698751 

6、用Activity的onTouchEvent方法實現監聽手指上下左右滑動:

 @Override  

    public boolean onTouchEvent(MotionEvent event) {  

        //繼承了Activity的onTouchEvent方法,直接監聽點擊事件  

        if(event.getAction() == MotionEvent.ACTION_DOWN) {  

            //當手指按下的時候  

            x1 = event.getX();  

            y1 = event.getY();  

        }  

        if(event.getAction() == MotionEvent.ACTION_UP) {  

            //當手指離開的時候  

            x2 = event.getX();  

            y2 = event.getY();  

            if(y1 - y2 > 50) {  

                Toast.makeText(MainActivity.this, "向上滑", Toast.LENGTH_SHORT).show();  

            } else if(y2 - y1 > 50) {  

                Toast.makeText(MainActivity.this, "向下滑", Toast.LENGTH_SHORT).show();  

            } else if(x1 - x2 > 50) {  

                Toast.makeText(MainActivity.this, "向左滑", Toast.LENGTH_SHORT).show();  

            } else if(x2 - x1 > 50) {  

                Toast.makeText(MainActivity.this, "向右滑", Toast.LENGTH_SHORT).show();  

            }  

        }  

        return super.onTouchEvent(event);  

    }  

原文地址:http://blog.csdn.net/qiantujava/article/details/9903891 

相關文章
相關標籤/搜索