0

FAB をクリックすると、Circular Reveal を使用して LinearLayout でアニメーション化しようとしています。

クリックすると、時間の経過後にビューが表示されるように変更されますが、表示されるアニメーションは実行されませんか? さらに、関数が終了アニメーションとして反転されると、ビューはアニメーションの間非表示になります。

コード:

//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 から計算されていない場合のみですか?

4

1 に答える 1