import android.os.Bundle;
import android.app.Activity;
import android.gesture.GestureOverlayView;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.Toast;

public class MainActivity extends Activity implements OnTouchListener,
OnGestureListener {

GestureDetector det;
//OnGestureListener,手勢

GestureOverlayView gov;
//OnTouchListener
//一層透明的view,是一個軌跡,蓋在Activity上面

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
det=new GestureDetector(this);
gov=(GestureOverlayView) this.findViewById(R.id.gestures);
gov.setOnTouchListener(this);
}


@Override
public boolean onDown(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}

//快速滑動onFling
@Override
public boolean onFling(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
//50是自行定義的數字,左上角的座標(0,0)
//arg0是右邊,arg1是左邊
if(arg0.getX()-arg1.getX() > 50)
{

Toast.makeText(MainActivity.this,"右往左滑",Toast.LENGTH_SHORT).show();
return true;

}else if(arg0.getX()-arg1.getX() < -50)
{
Toast.makeText(MainActivity.this,"左往右滑",Toast.LENGTH_SHORT).show();
return true;

}else if(arg0.getY()-arg1.getY() > 50)
{//arg0是下面,arg1是上面
Toast.makeText(MainActivity.this,"下往上滑",Toast.LENGTH_SHORT).show();
return true;

}
else if(arg0.getY()-arg1.getY() < -50)
{
Toast.makeText(MainActivity.this,"上往下滑",Toast.LENGTH_SHORT).show();
return true;
}




return false;
}

@Override
public void onLongPress(MotionEvent arg0) {
// TODO Auto-generated method stub

}
//慢速滑動onFling,行為也可以寫在這
@Override
public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
return false;
}

@Override
public void onShowPress(MotionEvent arg0) {
// TODO Auto-generated method stub

}

@Override
public boolean onSingleTapUp(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}
 // OnTouchListener Event
@Override
public boolean onTouch(View arg0, MotionEvent event) {
det.onTouchEvent(event);
return false;
}
}


 

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="FlingTest" />

    <android.gesture.GestureOverlayView
        android:id="@+id/gestures"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1.0" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
        </LinearLayout>

    </android.gesture.GestureOverlayView>

</LinearLayout>


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 小Chiu 的頭像
    小Chiu

    Cuiu's Home

    小Chiu 發表在 痞客邦 留言(0) 人氣()