亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android實現攜程購票起始點位置交換

發布時間:2020-09-16 19:50:05 來源:腳本之家 閱讀:121 作者:Mars-xq 欄目:移動開發

本文實例為大家分享了android實現購票起始點位置交換的具體代碼,供大家參考,具體內容如下

效果圖:

android實現攜程購票起始點位置交換

點擊交換位置按鈕,北京和深圳布局交換位置。

xml布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:fitsSystemWindows="true"
  android:orientation="horizontal">

  <TextView
    android:id="@+id/left_tv"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:text="北京" />

  <Button
    android:id="@+id/btn"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:text="交換位置" />

  <TextView
    android:id="@+id/right_tv"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:text="深圳" />

</LinearLayout>

java代碼:

public class TESTButtonActivity extends AppCompatActivity {
  private int startX;
  private int endX;
  private TextView leftCityTextView;
  private TextView rightCityTextView;
  private ValueAnimator endCityAnimator;
  private ValueAnimator startCityAnimation;

  @Override
  protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_button);

    leftCityTextView = ((TextView) this.findViewById(R.id.left_tv));
    rightCityTextView = ((TextView) this.findViewById(R.id.right_tv));

    Button mBtn = ((Button) this.findViewById(R.id.btn));
    mBtn.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        startCityAnimation.start();
        endCityAnimator.start();
      }
    });
  }

  private void getLocation() {
    int[] startXLocation = new int[2];
    leftCityTextView.getLocationOnScreen(startXLocation);//獲取坐標
    int[] endXLocation = new int[2];
    rightCityTextView.getLocationOnScreen(endXLocation);
    startX = startXLocation[0];//0為x坐標
    endX = endXLocation[0];
  }

  @Override
  public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);

    getLocation();

    int leftMoveX = endX - startX;
    int rightMoveX = endX - startX;

    startCityAnimation = ValueAnimator.ofInt(0, leftMoveX).setDuration(5000);
    startCityAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
      @Override
      public void onAnimationUpdate(ValueAnimator animation) {
        int value = (int) animation.getAnimatedValue();
        //重新布局
        leftCityTextView.layout(startX + value,
            leftCityTextView.getTop(),
            startX + value + leftCityTextView.getWidth(),
            leftCityTextView.getBottom());
      }
    });

    endCityAnimator = ValueAnimator.ofInt(0, rightMoveX).setDuration(5000);
    endCityAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
      @Override
      public void onAnimationUpdate(ValueAnimator animation) {
        int value = (int) animation.getAnimatedValue();
        //重新布局
        rightCityTextView.layout(endX - value,
            rightCityTextView.getTop(),
            endX + rightCityTextView.getWidth() - value,
            rightCityTextView.getBottom());
      }
    });

    endCityAnimator.addListener(new Animator.AnimatorListener() {
      @Override
      public void onAnimationStart(Animator animation) {
      }

      @Override
      public void onAnimationEnd(Animator animation) {
        //用于下次交換
        TextView tempTextView = leftCityTextView;
        leftCityTextView = rightCityTextView;
        rightCityTextView = tempTextView;
      }

      @Override
      public void onAnimationCancel(Animator animation) {
      }

      @Override
      public void onAnimationRepeat(Animator animation) {
      }
    });
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定襄县| 喀喇沁旗| 龙泉市| 虞城县| 荣昌县| 陇南市| 塔城市| 资中县| 松滋市| 高密市| 潮州市| 洪泽县| 吴堡县| 抚松县| 同德县| 分宜县| 余庆县| 黑山县| 溆浦县| 鄂伦春自治旗| 曲水县| 吉林省| 汉阴县| 宁陵县| 阆中市| 东乡族自治县| 万山特区| 高碑店市| 青田县| 修水县| 法库县| 辉县市| 淮阳县| 鹤山市| 沾益县| 缙云县| 万荣县| 湟中县| 自治县| 遵义市| 静安区|