2014-12-02 105 views
5

我有兩個不同的佈局我想要移動到另一個視圖。我的代碼有什麼問題? Y動畫播放錯誤。首先查看位於片段的佈局,第二次在狀態欄安卓動畫移動視圖到另一個視圖

... 
    int p1[] = new int[2]; 
    int p2[] = new int[2]; 
    viewOne.getLocationInWindow(p1); 
    viewTwo.getLocationInWindow(p2); 


    AnimatorSet animatorSet = new AnimatorSet(); 
    animatorSet 
      .play(ObjectAnimator.ofFloat(expandedImageView, "X", p1[0], p2[0] - p1[0])) 
      .with(ObjectAnimator.ofFloat(expandedImageView, "Y", p1[1], p2[1] - p1[1])) 
      .with(ObjectAnimator.ofFloat(expandedImageView, View.SCALE_X, startScale)) 
      .with(ObjectAnimator.ofFloat(expandedImageView, View.SCALE_Y, startScale)); 
+0

它是如何發揮錯了嗎? – Whitney 2014-12-02 15:36:30

+0

@ Whitney它應該移動到屏幕的一角,但y不增長 – punksta 2014-12-02 19:32:31

+0

請看我的回答,它直接相關: https://stackoverflow.com/a/47593484/2606290 – Fer 2017-12-01 12:39:04

回答

14

我對你另一種解決方案:(移動viewOne到viewTwo)

TranslateAnimation animation = new TranslateAnimation(0, viewTwo.getX()-viewOne.getX(),0 , viewTwo.getY()-viewOne.getY()); 
    animation.setRepeatMode(0); 
    animation.setDuration(3000); 
    animation.setFillAfter(true); 
    viewOne.startAnimation(animation); 
+0

對不起,我試過這段代碼,但是不工作是如何起作用的。 我有一個imageview,我想將它移動到其他固定圖像視圖 但實際上是移動我的圖像在對角線一側的某種方式向上 – 2017-02-14 19:04:08

相關問題