显示动画不适用于带有 alignParentRight 参数的视图
Reveal animation does not work on view with alignParentRight parameter
我正在使用 Google tutorial 为布局创建显示动画。
一切正常,直到我将 alignParentRight="true" 属性添加到波纹布局。它只是在没有任何动画的情况下显示为 VISIBLE。
这是我的布局:
<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();
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);
我正在使用 Google tutorial 为布局创建显示动画。 一切正常,直到我将 alignParentRight="true" 属性添加到波纹布局。它只是在没有任何动画的情况下显示为 VISIBLE。
这是我的布局:
<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();
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);