Android通過(guò)滑動(dòng)實(shí)現(xiàn)Activity跳轉(zhuǎn)(手勢(shì)識(shí)別器應(yīng)用)
通過(guò)手勢(shì)識(shí)別器實(shí)現(xiàn)界面的轉(zhuǎn)跳,具體內(nèi)容如下
1、創(chuàng)建 GestureDetector對(duì)象
2、創(chuàng)建新類繼承SimpleOnGestureListener類(創(chuàng)建 GestureDetecto需要的參數(shù))
3、重寫SimpleOnGestureListener中的OnFling()方法。(滑動(dòng)手勢(shì)監(jiān)聽(tīng))
4、重寫界面的OntouchEvent方法
5、通過(guò) GestureDetector對(duì)象的onTouchEvent()添加事件
代碼如下:
public abstract class BaseActivity extends AppCompatActivity {
private GestureDetector gue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base);
//這里的第一個(gè)參數(shù)是上下文,第二個(gè)是手勢(shì)監(jiān)聽(tīng)器
gue = new GestureDetector(this, new MyGestureListener());
}
class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
//onFling方法的第一個(gè)參數(shù)是 手指按下的位置, 第二個(gè)參數(shù)是 手指松開(kāi)的位置,第三個(gè)參數(shù)是手指的速度
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
float startX = e1.getX();//通過(guò)e1.getX()獲得手指按下位置的橫坐標(biāo)
float endX = e2.getX();//通過(guò)e2.getX()獲得手指松開(kāi)位置的橫坐標(biāo)
float startY = e1.getY();//通過(guò)e1.getY()獲得手指按下位置的縱坐標(biāo)
float endY = e2.getY();//通過(guò)e2.getY()獲得手指松開(kāi)的縱坐標(biāo)
if ((startX - endX) > 50 && Math.abs(startY - endY) < 200) {
//(startX - endX) > 50 是手指從按下到松開(kāi)的橫坐標(biāo)距離大于50
// Math.abs(startY - endY) < 200 是手指從按下到松開(kāi)的縱坐標(biāo)的差的絕對(duì)值
//在這里通過(guò)Intent實(shí)現(xiàn)界面轉(zhuǎn)跳
}
if ((endX - startX) > 50 && Math.abs(startY - endY) <200) {
//在這里通過(guò)Intent實(shí)現(xiàn)界面轉(zhuǎn)跳
}
//返回值是重點(diǎn):如果返回值是true則動(dòng)作可以執(zhí)行,如果是flase動(dòng)作將無(wú)法執(zhí)行
return true;
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
gue.onTouchEvent(event);
return super.onTouchEvent(event);
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android中應(yīng)用界面主題Theme使用方法和頁(yè)面定時(shí)跳轉(zhuǎn)應(yīng)用
- Android如何跳轉(zhuǎn)到應(yīng)用商店的APP詳情頁(yè)面
- android 跳轉(zhuǎn)到應(yīng)用通知設(shè)置界面的示例
- android判斷手機(jī)是否安裝地圖應(yīng)用實(shí)現(xiàn)跳轉(zhuǎn)到該地圖應(yīng)用
- Android 應(yīng)用中跳轉(zhuǎn)到應(yīng)用市場(chǎng)評(píng)分示例
- Android應(yīng)用自動(dòng)跳轉(zhuǎn)到應(yīng)用市場(chǎng)詳情頁(yè)面的方法
- Android應(yīng)用閃屏頁(yè)延遲跳轉(zhuǎn)的三種寫法
- Android 8.0升級(jí)不跳轉(zhuǎn)應(yīng)用安裝頁(yè)面的解決方法
- Android實(shí)現(xiàn)外部喚起應(yīng)用跳轉(zhuǎn)指定頁(yè)面的方法
相關(guān)文章
Android用過(guò)TextView實(shí)現(xiàn)跑馬燈效果的示例
本篇文章主要介紹了Android用過(guò)TextView實(shí)現(xiàn)跑馬燈效果的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
Android Caused by: java.lang.ClassNotFoundException解決辦法
這篇文章主要介紹了Android Caused by: java.lang.ClassNotFoundException解決辦法的相關(guān)資料,需要的朋友可以參考下2017-03-03
Android穩(wěn)定性:可遠(yuǎn)程配置化的Looper兜底框架
這篇文章主要為大家介紹了Android穩(wěn)定性可遠(yuǎn)程配置化的Looper兜底框架實(shí)例實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Android 標(biāo)準(zhǔn)Intent的使用詳解
這篇文章主要介紹了Android 標(biāo)準(zhǔn)Intent的使用詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03
Android中Listview點(diǎn)擊item不變顏色及設(shè)置listselector 無(wú)效的解決方案
這篇文章主要介紹了Android中Listview點(diǎn)擊item不變顏色及設(shè)置listselector 無(wú)效的原因及解決方案,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
Android實(shí)現(xiàn)簡(jiǎn)易的鬧鐘功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)易的鬧鐘功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09
Android開(kāi)發(fā)實(shí)現(xiàn)刪除聯(lián)系人通話記錄的方法
這篇文章主要介紹了Android開(kāi)發(fā)實(shí)現(xiàn)刪除聯(lián)系人通話記錄的方法,較為詳細(xì)的分析了Android刪除通話記錄的原理、步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-10-10
Android實(shí)現(xiàn)的狀態(tài)欄定制和修改方法
這篇文章主要介紹了Android實(shí)現(xiàn)的狀態(tài)欄定制和修改方法,涉及Android針對(duì)狀態(tài)欄屬性設(shè)置的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10

