欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Android實(shí)現(xiàn)ViewPager邊界回彈效果實(shí)例代碼-創(chuàng)新互聯(lián)

廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比南明網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式南明網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋南明地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
public class BounceBackViewPager extends ViewPager {
 private int currentPosition = 0;
 private Rect mRect = new Rect();//用來記錄初始位置
 private boolean handleDefault = true;
 private float preX = 0f;
 private static final float RATIO = 0.5f;//摩擦系數(shù)
 private static final float SCROLL_WIDTH = 10f;
 public BounceBackViewPager(Context context) {
  super(context);
 }
 public BounceBackViewPager(Context context, AttributeSet attrs) {
  super(context, attrs);
 }
 @Override
 public boolean dispatchKeyEvent(KeyEvent event) {
  return super.dispatchKeyEvent(event);
 }
 @Override
 public boolean onInterceptTouchEvent(MotionEvent ev) {
  if (ev.getAction() == MotionEvent.ACTION_DOWN) {
   preX = ev.getX();//記錄起點(diǎn)
   currentPosition = getCurrentItem();
  }
  return super.onInterceptTouchEvent(ev);
 }
 @Override
 public boolean onTouchEvent(MotionEvent ev) {
  switch (ev.getAction()) {
   case MotionEvent.ACTION_UP:
    onTouchActionUp();
    break;
   case MotionEvent.ACTION_MOVE:
    if (getAdapter().getCount() == 1) {
     float nowX = ev.getX();
     float offset = nowX - preX;
     preX = nowX;
     if (offset > SCROLL_WIDTH) {//手指滑動(dòng)的距離大于設(shè)定值
      whetherConditionIsRight(offset);
     } else if (offset < -SCROLL_WIDTH) {
      whetherConditionIsRight(offset);
     } else if (!handleDefault) {//這種情況是已經(jīng)出現(xiàn)緩沖區(qū)域了,手指慢慢恢復(fù)的情況
      if (getLeft() + (int) (offset * RATIO) != mRect.left) {
       layout(getLeft() + (int) (offset * RATIO), getTop(), getRight() + (int) (offset * RATIO), getBottom());
      }
     }
    } else if ((currentPosition == 0 || currentPosition == getAdapter().getCount() - 1)) {
     float nowX = ev.getX();
     float offset = nowX - preX;
     preX = nowX;
     if (currentPosition == 0) {
      if (offset > SCROLL_WIDTH) {//手指滑動(dòng)的距離大于設(shè)定值
       whetherConditionIsRight(offset);
      } else if (!handleDefault) {//這種情況是已經(jīng)出現(xiàn)緩沖區(qū)域了,手指慢慢恢復(fù)的情況
       if (getLeft() + (int) (offset * RATIO) >= mRect.left) {
        layout(getLeft() + (int) (offset * RATIO), getTop(), getRight() + (int) (offset * RATIO), getBottom());
       }
      }
     } else {
      if (offset < -SCROLL_WIDTH) {
       whetherConditionIsRight(offset);
      } else if (!handleDefault) {
       if (getRight() + (int) (offset * RATIO) <= mRect.right) {
        layout(getLeft() + (int) (offset * RATIO), getTop(), getRight() + (int) (offset * RATIO), getBottom());
       }
      }
     }
    } else {
     handleDefault = true;
    }
    if (!handleDefault) {
     return true;
    }
    break;
   default:
    break;
  }
  return super.onTouchEvent(ev);
 }
 private void whetherConditionIsRight(float offset) {
  if (mRect.isEmpty()) {
   mRect.set(getLeft(), getTop(), getRight(), getBottom());
  }
  handleDefault = false;
  layout(getLeft() + (int) (offset * RATIO), getTop(), getRight() + (int) (offset * RATIO), getBottom());
 }
 private void onTouchActionUp() {
  if (!mRect.isEmpty()) {
   recoveryPosition();
  }
 }
 private void recoveryPosition() {
  TranslateAnimation ta = new TranslateAnimation(getLeft(), mRect.left, 0, 0);
  ta.setDuration(300);
  startAnimation(ta);
  layout(mRect.left, mRect.top, mRect.right, mRect.bottom);
  mRect.setEmpty();
  handleDefault = true;
 }
}

當(dāng)前名稱:Android實(shí)現(xiàn)ViewPager邊界回彈效果實(shí)例代碼-創(chuàng)新互聯(lián)
文章鏈接:http://aaarwkj.com/article32/cocjpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、微信公眾號(hào)微信小程序、企業(yè)建站網(wǎng)站改版網(wǎng)站維護(hù)

廣告

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

微信小程序開發(fā)
欧美精品亚洲精品国产| 亚洲一区二区视频在线播放| 日本成人在线播放网站| 日本人免费一区二区电影| 久久精品性少妇一区=区三区| 中国吞精囗交免费视频| av网址不卡在线免费观看| 丰满肥臀熟女高清区二区| 一个人看的视频天堂色| 亚洲码欧洲码一二三区| 国产精品一级在线播放| 日韩欧美国产麻豆一区精品| 精品亚洲国产成人av| 日韩欧美高清一区二区三区 | 偷拍一区二区三区夫妻| 你懂的免费视频中文字幕| 乱色视频中文字幕在线着| 国产亚洲一区二区日韩欧美| 特黄特色的日本大片| 国产美女极度色诱视频| 欧美老熟妇一区三区精品| 成人中文字幕日韩电影| 超碰国产精品一区二区| 人妻在线中文字幕一区| 日韩人妻精品在线一区二区| 综合av在线一区天堂| 亚洲综合中文字幕经典av在线 | 蜜桃精品视频在线播放| 中文字幕乱码亚州精品一区| 亚洲欧美国产精品久久久| 久久国产精品一品二品| 欧美日韩欧美黄色三级| 欧美成人精品视频在线不卡| 日韩中文字幕一二三| 加勒比人妻一区二区三区| 国产亚洲精品视频在线| 国内精品自拍亚洲视频| 国产交换精品一区二区三区| 久久99热最新地址获取| 国产粉嫩一区二区三区在线观看| 日本特黄特黄录像在线|