您好,登錄后才能下訂單哦!
這篇文章給大家介紹Android應用中的Activity跳轉怎么利用滑動來實現,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
通過手勢識別器實現界面的轉跳,具體內容如下
1、創建 GestureDetector對象
2、創建新類繼承SimpleOnGestureListener類(創建 GestureDetecto需要的參數)
3、重寫SimpleOnGestureListener中的OnFling()方法。(滑動手勢監聽)
4、重寫界面的OntouchEvent方法
5、通過 GestureDetector對象的onTouchEvent()添加事件
代碼如下:
public abstract class BaseActivity extends AppCompatActivity { private GestureDetector gue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_base); //這里的第一個參數是上下文,第二個是手勢監聽器 gue = new GestureDetector(this, new MyGestureListener()); } class MyGestureListener extends GestureDetector.SimpleOnGestureListener { //onFling方法的第一個參數是 手指按下的位置, 第二個參數是 手指松開的位置,第三個參數是手指的速度 @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { float startX = e1.getX();//通過e1.getX()獲得手指按下位置的橫坐標 float endX = e2.getX();//通過e2.getX()獲得手指松開位置的橫坐標 float startY = e1.getY();//通過e1.getY()獲得手指按下位置的縱坐標 float endY = e2.getY();//通過e2.getY()獲得手指松開的縱坐標 if ((startX - endX) > 50 && Math.abs(startY - endY) < 200) { //(startX - endX) > 50 是手指從按下到松開的橫坐標距離大于50 // Math.abs(startY - endY) < 200 是手指從按下到松開的縱坐標的差的絕對值 //在這里通過Intent實現界面轉跳 } if ((endX - startX) > 50 && Math.abs(startY - endY) <200) { //在這里通過Intent實現界面轉跳 } //返回值是重點:如果返回值是true則動作可以執行,如果是flase動作將無法執行 return true; } } @Override public boolean onTouchEvent(MotionEvent event) { gue.onTouchEvent(event); return super.onTouchEvent(event); }
關于Android應用中的Activity跳轉怎么利用滑動來實現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。