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

Android編程實(shí)現(xiàn)左右滑動(dòng)切換背景的方法

 更新時(shí)間:2016年01月20日 15:15:14   作者:zqiang_55  
這篇文章主要介紹了Android編程實(shí)現(xiàn)左右滑動(dòng)切換背景的方法,涉及Android圖形資源動(dòng)態(tài)調(diào)用與動(dòng)作監(jiān)聽(tīng)相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了Android編程實(shí)現(xiàn)左右滑動(dòng)切換背景的方法。分享給大家供大家參考,具體如下:

最近想做一個(gè)左右滑動(dòng)切換背景圖片的應(yīng)用,特地將自己的研究分享一下:

這個(gè)需要繼承2個(gè)監(jiān)聽(tīng)接口 OnGestureListener,  OnTouchListener

關(guān)于這2個(gè)接口大家可以在網(wǎng)上查一下

同時(shí)需要設(shè)置2個(gè)屬性

bgLayout.setOnTouchListener(this);
bgLayout.setLongClickable(true);

并且在這個(gè)函數(shù)中有如下這幾句話

public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return this.mGesture.onTouchEvent(event);
}

附送代碼:

public class SwitcherActivity extends Activity implements OnGestureListener,
    OnTouchListener {
  /** Called when the activity is first created. */
  LinearLayout bgLayout = null;
  private GestureDetector mGesture = null;
  private int flag = 3;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mGesture = new GestureDetector(this);
    bgLayout = (LinearLayout) findViewById(R.id.bg);
    bgLayout.setBackgroundResource(R.drawable.bg3);
    bgLayout.setOnTouchListener(this);
    bgLayout.setLongClickable(true);
  }
  public boolean onDown(MotionEvent e) {
    // TODO Auto-generated method stub
    return false;
  }
  public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
      float velocityY) {
    // 處理左右滑動(dòng)
    if (e1.getX() - e2.getX() > 100) { // 向左滑動(dòng)
      if (flag == 3) {
        bgLayout.setBackgroundResource(R.drawable.bg4);
        flag = 4;
        return true;
      }
      if (flag == 4) {
        bgLayout.setBackgroundResource(R.drawable.bg5);
        flag = 5;
        return true;
      }
      if (flag == 1) {
        bgLayout.setBackgroundResource(R.drawable.bg2);
        flag = 2;
        return true;
      }
      if (flag == 2) {
        bgLayout.setBackgroundResource(R.drawable.bg3);
        flag = 3;
        return true;
      }
    } else if (e1.getX() - e2.getX() < -100) { // 向右滑動(dòng)
      if (flag == 3) {
        bgLayout.setBackgroundResource(R.drawable.bg2);
        flag = 2;
        return true;
      }
      if (flag == 2) {
        bgLayout.setBackgroundResource(R.drawable.bg1);
        flag = 1;
        return true;
      }
      if (flag == 5) {
        bgLayout.setBackgroundResource(R.drawable.bg4);
        flag = 4;
        return true;
      }
      if (flag == 4) {
        bgLayout.setBackgroundResource(R.drawable.bg3);
        flag = 3;
        return true;
      }
    }
    return false;
  }
  public void onLongPress(MotionEvent e) {
    // TODO Auto-generated method stub
  }
  public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
      float distanceY) {
    // TODO Auto-generated method stub
    return false;
  }
  public void onShowPress(MotionEvent e) {
    // TODO Auto-generated method stub
  }
  public boolean onSingleTapUp(MotionEvent e) {
    // TODO Auto-generated method stub
    return false;
  }
  public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub
    return this.mGesture.onTouchEvent(event);
  }
}

更多關(guān)于Android圖片與特效相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開(kāi)發(fā)動(dòng)畫(huà)技巧匯總》和《Android圖形與圖像處理技巧總結(jié)

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

相關(guān)文章

最新評(píng)論