最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年10月24日 10:23:17   作者:apple_xiangsiyu  
這篇文章主要介紹了Android右滑返回上一個(gè)界面的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xià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è)界面,我給出的方法是重寫(xiě)onTouchEvent事件,所以我們實(shí)現(xiàn)了OnTouchListener 這個(gè)接口,

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

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

OK,我們看下scrollview 源碼:

他喵的,果然重寫(xiě)了這個(gè)方法, 根據(jù) view 觸碰事件的傳遞順序,scrollview會(huì)先攔截到事件,所以,我們要做的就是,在不對(duì)scrollview本來(lái)的攔截事件做改變的情況下,加入我們所需要的需求來(lái)滿(mǎn)足我們實(shí)現(xiàn)功能, 那么就很簡(jiǎ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); 
  } 

OK,在如上代碼中,可以看到我們做了一個(gè)判斷,當(dāng)觸摸點(diǎn)像素距離屏幕最左邊200像素以?xún)?nèi)時(shí),滑動(dòng)才有效果,否則執(zhí)行父類(lèi)方法,沒(méi)了? 我僅舉這一例子說(shuō)明可能存在的一些問(wèn)題,當(dāng)然,如果布局中也有其它控件出現(xiàn)類(lèi)似的情況,那么跟 這個(gè)一樣,自己定義一個(gè)view,重寫(xiě)它的 觸摸事件,(其實(shí)自定義view很簡(jiǎn)單的,哥剛開(kāi)始也覺(jué)得很難,后來(lái) 也就那樣....) ,當(dāng)然,直接finish可能會(huì)顯得太單一,你們可以充分發(fā)揮你們的想象,可以添加一些動(dòng)畫(huà)進(jìn)去,使得界面更加炫,

OK,今天就扯到這里,吃飯 time...

如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Android圖片識(shí)別應(yīng)用詳解

    Android圖片識(shí)別應(yīng)用詳解

    這篇文章主要為大家詳細(xì)介紹了Android圖片識(shí)別的應(yīng)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Android客制化adb shell進(jìn)去后顯示shell@xxx的標(biāo)識(shí)

    Android客制化adb shell進(jìn)去后顯示shell@xxx的標(biāo)識(shí)

    今天小編就為大家分享一篇關(guān)于A(yíng)ndroid客制化adb shell進(jìn)去后顯示shell@xxx的標(biāo)識(shí),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Android開(kāi)發(fā)簡(jiǎn)單實(shí)現(xiàn)搖動(dòng)動(dòng)畫(huà)的方法

    Android開(kāi)發(fā)簡(jiǎn)單實(shí)現(xiàn)搖動(dòng)動(dòng)畫(huà)的方法

    這篇文章主要介紹了Android開(kāi)發(fā)簡(jiǎn)單實(shí)現(xiàn)搖動(dòng)動(dòng)畫(huà)的方法,結(jié)合實(shí)例形式分析了Android搖動(dòng)動(dòng)畫(huà)的布局與功能簡(jiǎn)單實(shí)現(xiàn)方法,需要的朋友可以參考下
    2017-10-10
  • Android自定義View之酷炫數(shù)字圓環(huán)

    Android自定義View之酷炫數(shù)字圓環(huán)

    這篇文章主要為大家詳細(xì)介紹了Android自定義View之酷炫數(shù)字圓環(huán),實(shí)現(xiàn)效果很酷,,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Android自定義控件實(shí)現(xiàn)雷達(dá)圖效果

    Android自定義控件實(shí)現(xiàn)雷達(dá)圖效果

    這篇文章主要為大家詳細(xì)介紹了Android自定義控件實(shí)現(xiàn)雷達(dá)圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 淺談Android編碼規(guī)范及命名規(guī)范

    淺談Android編碼規(guī)范及命名規(guī)范

    本文主要總結(jié)一下Android項(xiàng)目的開(kāi)發(fā)規(guī)范:1、編碼規(guī)范 2、命名規(guī)范。有需要的朋友可以看下
    2016-12-12
  • Android中buildToolVersion與CompileSdkVersion的區(qū)別

    Android中buildToolVersion與CompileSdkVersion的區(qū)別

    今天小編就為大家分享一篇關(guān)于A(yíng)ndroid中buildToolVersion與CompileSdkVersion的區(qū)別,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Android實(shí)現(xiàn)網(wǎng)絡(luò)圖片瀏覽功能

    Android實(shí)現(xiàn)網(wǎng)絡(luò)圖片瀏覽功能

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)網(wǎng)絡(luò)圖片瀏覽功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Android Fragment使用全解

    Android Fragment使用全解

    這篇文章主要介紹了Android Fragment使用的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Android開(kāi)發(fā),感興趣的朋友可以了解下
    2021-04-04
  • Android編程實(shí)現(xiàn)任務(wù)管理器的方法

    Android編程實(shí)現(xiàn)任務(wù)管理器的方法

    這篇文章主要介紹了Android編程實(shí)現(xiàn)任務(wù)管理器的方法,涉及Android針對(duì)程序與進(jìn)程操作的相關(guān)技巧,需要的朋友可以參考下
    2015-12-12

最新評(píng)論

平山县| 灌南县| 德钦县| 汕尾市| 腾冲县| 同心县| 芜湖县| 舞钢市| 大兴区| 黎城县| 屏东县| 嘉义县| 云南省| 资源县| 南雄市| 景德镇市| 绥宁县| 兖州市| 武隆县| 龙口市| 呼伦贝尔市| 扶风县| 玉龙| 大同县| 台北市| 湖北省| 望都县| 华容县| 太仆寺旗| 乌什县| 仁寿县| 新干县| 绥德县| 调兵山市| 岳池县| 德兴市| 八宿县| 德州市| 常宁市| 新龙县| 嘉黎县|