成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Android中怎么實(shí)現(xiàn)右滑返回上一個(gè)界面

今天就跟大家聊聊有關(guān)Android中怎么實(shí)現(xiàn)右滑返回上一個(gè)界面,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

為汾西等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及汾西網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、汾西網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

Android右滑返回上一個(gè)界面的實(shí)現(xiàn)方法

public class BaseActivity extends Activity implements OnTouchListener { 
 
  public ProgressDialog progressDialog; 
  public String states; 
  public RequestQueue mQueue; 
 
  /** 觸摸時(shí)按下的點(diǎn) **/ 
  PointF downP = new PointF(); 
  /** 觸摸時(shí)當(dāng)前的點(diǎn) **/ 
  PointF curP = new PointF(); 
 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
 
 
  } 
 
  @Override 
  protected void onResume() { 
    super.onResume(); 
  } 
 
   
  @Override 
  public boolean onTouchEvent(MotionEvent event) { 
 
 
     
    curP.x = event.getX(); 
    switch (event.getAction()) { 
     
     
    case MotionEvent.ACTION_DOWN: 
 
      downP.x = event.getX(); 
     
      break; 
    case MotionEvent.ACTION_MOVE: 
 
 
      if (curP.x- downP.x > 500) { 
        Log.i("TEST", "move-=-=-=--=-"); 
        finish(); 
       
      } 
 
      break; 
    case MotionEvent.ACTION_UP: 
 
      break; 
 
    default: 
      break; 
    } 
     
    return true; 
  } 
 
  @Override 
  protected void onPause() { 
    super.onPause(); 
  } 
 
  @Override 
  protected void onDestroy() { 
    super.onDestroy(); 
 
  } 
 
   
 
}

如上所示,既然要滑動(dòng)返回上一個(gè)界面,我給出的方法是重寫onTouchEvent事件,所以我們實(shí)現(xiàn)了OnTouchListener 這個(gè)接口,

接下來的事情就是,我們要做些什么事呢,沒錯(cuò),就是滑動(dòng)判斷,至于事件 switch 里面的 各個(gè)情況對(duì)應(yīng)的是我們對(duì)屏幕做了什么樣的操作就不解釋了,(可以自行百度)如上所示,如果滑動(dòng)距離超過500像素,就結(jié)束當(dāng)前activity,其實(shí)寫到這里基本上就沒了,但是我怎么可能寫這么低端的博客,你們說是不是,好的,重點(diǎn)來了,

博主帥哥,我現(xiàn)在就是用的你這個(gè)方法,但是為毛 scrollview 下的布局,對(duì)這個(gè)接口無效呢,好的,問的漂亮,我的回答是:我tm哪知道,....

OK,我們看下scrollview 源碼:

Android中怎么實(shí)現(xiàn)右滑返回上一個(gè)界面

他喵的,果然重寫了這個(gè)方法, 根據(jù) view 觸碰事件的傳遞順序,scrollview會(huì)先攔截到事件,所以,我們要做的就是,在不對(duì)scrollview本來的攔截事件做改變的情況下,加入我們所需要的需求來滿足我們實(shí)現(xiàn)功能, 那么就很簡答了, 當(dāng)然是 自己 定義一個(gè)view,代碼如下:

public class BackScrollView extends ScrollView { 
 
  /** 觸摸時(shí)按下的點(diǎn) **/ 
  PointF downP = new PointF(); 
  /** 觸摸時(shí)當(dāng)前的點(diǎn) **/ 
  PointF curP = new PointF(); 
 
  public BackScrollView(Context context) { 
    super(context); 
  } 
 
  public BackScrollView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
  } 
 
  public BackScrollView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
  } 
 
  @Override 
  public boolean onTouchEvent(MotionEvent event) { 
 
    curP.x = event.getX(); 
    switch (event.getAction()) { 
 
    case MotionEvent.ACTION_DOWN: 
 
      downP.x = event.getX(); 
      Log.i("TEST", "downP.x-=-=-=--=-" + downP.x); 
      break; 
    case MotionEvent.ACTION_MOVE: 
      Log.i("TEST", "downP.x-=-=-=--=-" + curP.x); 
 
      if (downP.x < 200) { 
 
        if (curP.x - downP.x > 500) { 
 
          return false; 
 
        } 
      } 
 
      break; 
    case MotionEvent.ACTION_UP: 
 
      break; 
 
    default: 
      break; 
    } 
    return super.onTouchEvent(event); 
  }

看完上述內(nèi)容,你們對(duì)Android中怎么實(shí)現(xiàn)右滑返回上一個(gè)界面有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

文章名稱:Android中怎么實(shí)現(xiàn)右滑返回上一個(gè)界面
網(wǎng)頁鏈接:http://jinyejixie.com/article22/jpoecc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名電子商務(wù)、ChatGPT、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
衡山县| 磴口县| 英超| 中卫市| 互助| 邢台市| 仙居县| 丽水市| 天长市| 霞浦县| 江阴市| 藁城市| 天津市| 定西市| 大新县| 铅山县| 冀州市| 盐源县| 竹北市| 炉霍县| 杭锦旗| 博白县| 宜兰县| 长岛县| 天峨县| 澜沧| 京山县| 鄂托克前旗| 灌云县| 黄冈市| 彭山县| 江孜县| 通州区| 巴楚县| 黎城县| 门源| 洛浦县| 祁连县| 乐亭县| 棋牌| 同德县|