Exemple #1
0
  private void changePosi(float speed) {

    if (Math.abs(speed) < 2.50) {
      if (rll1.getHeight() > rll2.getHeight() * 2) {
        new MyThread2(rll1.getHeight(), height).start();
      } else if (rll2.getHeight() > rll1.getHeight() * 2) {
        new MyThread2(rll1.getHeight(), 0).start();
      } else {
        Log.d(
            "MainActivity",
            "rl1_H:" + rll1.getHeight() + "  rl2_H:" + rll2.getHeight() + "  height:" + height / 2);
        new MyThread2(rll1.getHeight(), height / 2).start();
      }
    } else if (Math.abs(speed) < 10.0) {
      if (rll1.getHeight() > rll2.getHeight() * 2) {
        MyThread2 myThread2 = new MyThread2(rll1.getHeight(), height);
        myThread2.setspeed(speed);
        myThread2.start();
      } else if (rll2.getHeight() > rll1.getHeight() * 2) {
        MyThread2 myThread2 = new MyThread2(rll1.getHeight(), 0);
        myThread2.setspeed(speed);
        myThread2.start();
      } else {
        Log.d(
            "MainActivity",
            "rl1_H:" + rll1.getHeight() + "  rl2_H:" + rll2.getHeight() + "  height:" + height / 2);
        MyThread2 myThread2 = new MyThread2(rll1.getHeight(), height / 2);
        myThread2.setspeed(speed);
        myThread2.start();
      }
    } else {
      if (speed < 0) {
        // 上滑
        if (rll1.getHeight() > rll2.getHeight()) {
          MyThread2 myThread2 = new MyThread2(rll1.getHeight(), height / 2);
          myThread2.setspeed(Math.abs(speed));
          myThread2.start();
        } else {
          MyThread2 myThread2 = new MyThread2(rll1.getHeight(), 0);
          myThread2.setspeed(Math.abs(speed));
          myThread2.start();
        }
      } else {
        // 下滑
        if (rll1.getHeight() > rll2.getHeight()) {
          MyThread2 myThread2 = new MyThread2(rll1.getHeight(), height);
          myThread2.setspeed(Math.abs(speed));
          myThread2.start();
        } else {
          MyThread2 myThread2 = new MyThread2(rll1.getHeight(), height / 2);
          myThread2.setspeed(Math.abs(speed));
          myThread2.start();
        }
      }
    }
  }