0

我試圖使用循環顯示在LinearLayout中單擊FAB時設置動畫。ViewAnimationUtils - 沒有動畫發生

Onclick,視圖在延時後變爲可見,但沒有可見的動畫運行?另外,當函數被逆轉爲退出動畫時,視圖在動畫期間不可見。

代碼:

//Rest of method triggered onClick Above 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){ 
     circleReveal(formcontainer,addnewbutton); 
     ObjectAnimator.ofFloat(addnewbutton, "translationY", -heightbutton).start(); 
    } 
} 

public void circleReveal(LinearLayout formLayout, FloatingActionButton fab) { 

    int cx = (fab.getLeft() + fab.getRight())/2; 
    int cy = (fab.getTop() + fab.getBottom())/2; 

    int radius = Math.max(formLayout.getWidth(), formLayout.getHeight()); 

    Animator reveal = createCircularReveal(formLayout, cx, cy, 0, radius); 

    formLayout.setVisibility(View.VISIBLE); 
    reveal.setDuration(2000); 
    reveal.start(); 
} 

提前感謝您的幫助!

[編輯]經過測試,我注意到它只是這個視圖,它失敗了?我嘗試過的佈局中的每個其他視圖都可以正常工作嗎?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/formcontainer" 
       android:background="@android:color/white" 
       android:layout_width="match_parent" 
       android:layout_height="65dp" 
       android:orientation="vertical" 
       android:baselineAligned="false" 
       android:paddingLeft="@dimen/activity_horizontal_margin" 
       android:paddingRight="@dimen/activity_horizontal_margin" 
       android:gravity="bottom" 
       android:layout_marginBottom="0dp" 
       android:elevation="4dp" 
       android:layout_alignParentBottom="true"> 

[編輯2]所以,我已經部分解決了這個問題,在動畫現在的作品,但只有當沒有從FAB計算的中心?

回答

0

圓形動畫相對於視圖本身運行。所以,你的中心應該是:

int cx = fab.getWidth()/2; 
int cy = fab.getHeight()/2;