我正在使用Google tutorial为布局创建透视动画。 一切正常,直到我添加了alignParentRight =" true"属性为波纹布局。它看起来似乎没有任何动画。
这是我的布局:
<LinearLayout
android:id="@+id/ripple"
android:alignParentRight="true"
android:layout_width="wrap_content"
android:orientation="vertical"
android:visibility="invisible"
android:background="@color/black_transparent_60"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
这里的代码用展示动画显示这个布局:
int cx =(myView.getLeft()+ myView.getRight())/ 2; int cy =(myView.getTop()+ myView.getBottom())/ 2;
int finalRadius = Math.max(myView.getWidth(), myView.getHeight());
Animator anim = ViewAnimationUtils.createCircularReveal(myView, cx, cy, 0, finalRadius);
anim.setDuration(1000);
myView.setVisibility(View.VISIBLE);
mButtonShow.setVisibility(View.GONE);
anim.start();
答案 0 :(得分:1)
cx计算错误。
这段代码工作正常:
final int cx = getResources().getDisplayMetrics().widthPixels;
final int finalRadius = Math.max(myView.getWidth(), myView.getHeight());
Animator anim = ViewAnimationUtils.createCircularReveal(myView, cx, 0, 0, finalRadius);