欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android編程中ViewPage判斷左右滑動(dòng)方向的方法

 更新時(shí)間:2015年10月27日 15:22:45   作者:飄雪凌風(fēng)  
這篇文章主要介紹了Android編程中ViewPage判斷左右滑動(dòng)方向的方法,涉及Android中ViewPage針對(duì)滑動(dòng)判定的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下

本文實(shí)例講述了Android編程中ViewPage判斷左右滑動(dòng)方向的方法。分享給大家供大家參考,具體如下:

package com.meityitian.app.views;
import android.content.Context; 
import android.support.v4.view.ViewPager; 
import android.util.AttributeSet; 
import android.util.Log; 
import com.meityitian.app.utils.Debug; 
/** 
 * 重寫,添加了判定滑動(dòng)方向的方法 
 * @author zxy 
 * 
 */ 
public class meityitianViewPager extends ViewPager { 
 private boolean left = false; 
 private boolean right = false; 
 private boolean isScrolling = false; 
 private int lastValue = -1; 
 private ChangeViewCallback changeViewCallback = null; 
 public meityitianViewPager(Context context, AttributeSet attrs) { 
  super(context, attrs); 
  init(); 
 } 
 public meityitianViewPager(Context context) { 
  super(context); 
  init(); 
 } 
 /** 
  * init method . 
*/ 
 private void init() { 
  setOnPageChangeListener(listener); 
 } 
 /** 
  * listener ,to get move direction . 
*/ 
 public OnPageChangeListener listener = new OnPageChangeListener() { 
  @Override 
  public void onPageScrollStateChanged(int arg0) { 
   if (arg0 == 1) { 
    isScrolling = true; 
   } else { 
    isScrolling = false; 
   } 
   Debug.infoByTag("meityitianViewPager", 
     "meityitianViewPager onPageScrollStateChanged : arg0:" 
       + arg0); 
   if (arg0 == 2) { 
    Debug.infoByTag("meityitianViewPager", 
      "meityitianViewPager onPageScrollStateChanged direction left ? " 
        + left); 
    Debug.infoByTag("meityitianViewPager", 
      "meityitianViewPager onPageScrollStateChanged direction right ? " 
        + right); 
    //notify .... 
    if(changeViewCallback!=null){ 
     changeViewCallback.changeView(left, right); 
    } 
    right = left = false; 
   } 
  } 
  @Override 
  public void onPageScrolled(int arg0, float arg1, int arg2) { 
   if (isScrolling) { 
    if (lastValue > arg2) { 
     // 遞減,向右側(cè)滑動(dòng) 
     right = true; 
     left = false; 
    } else if (lastValue < arg2) { 
     // 遞減,向右側(cè)滑動(dòng) 
     right = false; 
     left = true; 
    } else if (lastValue == arg2) { 
     right = left = false; 
    } 
   } 
   Log.i("meityitianViewPager", 
     "meityitianViewPager onPageScrolled last :arg2 ," 
       + lastValue + ":" + arg2); 
   lastValue = arg2; 
  } 
  @Override 
  public void onPageSelected(int arg0) { 
   if(changeViewCallback!=null){ 
    changeViewCallback.getCurrentPageIndex(arg0); 
   } 
  } 
 }; 
 /** 
  * 得到是否向右側(cè)滑動(dòng) 
  * @return true 為右滑動(dòng) 
*/ 
 public boolean getMoveRight(){ 
  return right; 
 } 
 /** 
  * 得到是否向左側(cè)滑動(dòng) 
  * @return true 為左做滑動(dòng) 
*/ 
 public boolean getMoveLeft(){ 
  return left; 
 } 
 /** 
  * 滑動(dòng)狀態(tài)改變回調(diào) 
  * @author zxy 
  * 
*/ 
 public interface ChangeViewCallback{ 
  /** 
   * 切換視圖 ?決定于left和right 。 
   * @param left 
   * @param right 
*/ 
  public void changeView(boolean left,boolean right); 
  public void getCurrentPageIndex(int index); 
 } 
 /** 
  * set ... 
  * @param callback 
*/ 
 public void setChangeViewCallback(ChangeViewCallback callback){ 
  changeViewCallback = callback; 
 } 
}

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Android用文件存儲(chǔ)數(shù)據(jù)的方法

    Android用文件存儲(chǔ)數(shù)據(jù)的方法

    這篇文章主要為大家詳細(xì)介紹了Android用文件存儲(chǔ)數(shù)據(jù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • android使用ItemDecoration給RecyclerView 添加水印

    android使用ItemDecoration給RecyclerView 添加水印

    本篇文章主要介紹了android使用ItemDecoration給RecyclerView 添加水印,介紹了自定義Drawable來(lái)完成水印圖片和使用ItemDecoration來(lái)布局水印,有興趣的可以了解一下。
    2017-02-02
  • Android開(kāi)發(fā)中ImageLoder進(jìn)行圖片加載和緩存

    Android開(kāi)發(fā)中ImageLoder進(jìn)行圖片加載和緩存

    這篇文章主要介紹了Android開(kāi)發(fā)中ImageLoder進(jìn)行圖片加載和緩存的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • Android隨機(jī)給出加減乘除的四則運(yùn)算算術(shù)題

    Android隨機(jī)給出加減乘除的四則運(yùn)算算術(shù)題

    這篇文章主要為大家詳細(xì)介紹了Android隨機(jī)給出加減乘除的四則運(yùn)算算術(shù)題,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • android使用AIDL跨進(jìn)程通信(IPC)

    android使用AIDL跨進(jìn)程通信(IPC)

    本篇文章主要介紹了 android跨進(jìn)程通信(IPC):使用AIDL,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • Android如何獲取子View的位置及坐標(biāo)詳解

    Android如何獲取子View的位置及坐標(biāo)詳解

    這篇文章主要給大家介紹了關(guān)于Android如何獲取子View的位置及坐標(biāo)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Android判斷是否為飛行模式簡(jiǎn)單方法

    Android判斷是否為飛行模式簡(jiǎn)單方法

    這篇文章主要介紹了Android判斷是否為飛行模式簡(jiǎn)單方法,本文使用最簡(jiǎn)單的方法實(shí)現(xiàn)判斷是否為飛行模式,需要的朋友可以參考下
    2015-04-04
  • Android輔助權(quán)限的介紹和配置完整記錄

    Android輔助權(quán)限的介紹和配置完整記錄

    這篇文章主要給大家介紹了關(guān)于Android輔助權(quán)限的介紹和配置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Android小掛件(APP Widgets)設(shè)計(jì)指導(dǎo)

    Android小掛件(APP Widgets)設(shè)計(jì)指導(dǎo)

    這篇文章主要為大家詳細(xì)介紹了Android小掛件APP Widgets設(shè)計(jì)指導(dǎo),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • ANDROID 完美退出APP的實(shí)例代碼

    ANDROID 完美退出APP的實(shí)例代碼

    這篇文章介紹了ANDROID 完美退出APP的實(shí)例代碼,有需要的朋友可以參考一下
    2013-08-08

最新評(píng)論