34、滑动界面 style、GestureDetector、overridePendingTransiti

————————main.java———————————

package com.example.flliper;import android.content.Intent;import android.content.SharedPreferences;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;public class MainActivity extends ActionBarActivity {private SharedPreferences sp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);sp = getSharedPreferences("config", MODE_PRIVATE);//判断一下,,是否做过设置向导,如果没有做过,就跳转到设置向导页面去设置,否则就留着当前的页面boolean configed = sp.getBoolean("configed", false);if(configed){// 就在手机防盗页面setContentView(R.layout.activity_main);}else{//还没有做过设置向导Intent intent = new Intent(this,Setup1Activity.class);startActivity(intent);//关闭当前页面finish();}}/*** 重新进入手机防盗设置向导页面* @param view*/public void reEnterSetupOnclick(View view){Intent intent = new Intent(this,Setup1Activity.class);startActivity(intent);//关闭当前页面finish();}}

——————————–BaseSetupActivity.java———是下面3个activity 的父类——————

package com.example.flliper;import android.app.Activity;import android.os.Bundle;import android.view.GestureDetector;import android.view.GestureDetector.SimpleOnGestureListener;import android.view.MotionEvent;import android.view.View;import android.widget.Toast;public abstract class BaseSetupActivity extends Activity {//1.定义一个手势识别器private GestureDetector detector;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);//2.实例化这个手势识别器detector = new GestureDetector(this, new SimpleOnGestureListener(){/*** 当我们的手指在上面滑动的时候回调*/@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2,float velocityX, float velocityY) {//屏蔽在X滑动很慢的情形if(Math.abs(velocityX)<200){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.使用手势识别器@Overridepublic boolean onTouchEvent(MotionEvent event) {detector.onTouchEvent(event);return super.onTouchEvent(event);}}

——————————-Setup1Activity.java————————-

package com.example.flliper;import android.content.Intent;import android.os.Bundle;public class Setup1Activity extends BaseSetupActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_setup1);}@Overridepublic void showNext() {Intent intent = new Intent(this,Setup2Activity.class);startActivity(intent);finish();//要求在finish()或者startActivity(intent);后面执行;overridePendingTransition(R.anim.tran_in, R.anim.tran_out);}@Overridepublic void showPre() {}}

————————–Setup2Activity.java———————-

package com.example.flliper;import android.content.Intent;import android.os.Bundle;public class Setup2Activity extends BaseSetupActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_setup2);}@Overridepublic void showNext() {Intent intent = new Intent(this,Setup3Activity.class);startActivity(intent);finish();overridePendingTransition(R.anim.tran_in, R.anim.tran_out);}@Overridepublic void showPre() {Intent intent = new Intent(this,Setup1Activity.class);startActivity(intent);finish();overridePendingTransition(R.anim.tran_pre_in, R.anim.tran_pre_out);}}

————————Setup3Activity.java————————

与其在那里苦苦挣扎,碍于面子硬撑,倒不如微笑着面对,

34、滑动界面 style、GestureDetector、overridePendingTransiti

相关文章:

你感兴趣的文章:

标签云: