圆形闪烁动画
Blink animation in the Shape of Circle
我在 android 中有一个圆形的 Shape View,我想要它的闪烁动画。
这是我的 layout.xml
<View
android:id="@+id/circle"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/solid_circle"
android:layout_centerInParent="true"/>
Drawable/solid_circle.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/colorAccent"/>
</shape>
以上代码将显示一个圆形视图。我希望圆圈在闪烁。这是我在循环视图中使用闪烁动画的代码。
ObjectAnimator objAnimator = ObjectAnimator.ofInt(mCircle, "backgroundColor", Color.WHITE, ContextCompat.getColor(getApplicationContext(), R.color.colorAccent), Color.WHITE);
objAnimator.setDuration(1000);
objAnimator.setEvaluator(new ArgbEvaluator());
objAnimator.setRepeatMode(Animation.REVERSE);
objAnimator.setRepeatCount(Animation.INFINITE);
objAnimator.start();
问题是,它是Blinking the Circle in a rectangle,我们可以有一个Circle形式的Blink Animation吗?如何实现?
您正在为视图的 backgroundColor
设置动画,它将为 rectangle/square
的背景设置动画
相反,您必须实施alpha
动画
所以动画师是:
ObjectAnimator objAnimator = ObjectAnimator.ofFloat(mCircle, "alpha",0f,1f);
objAnimator.setDuration(1000);
objAnimator.setRepeatMode(Animation.REVERSE);
objAnimator.setRepeatCount(Animation.INFINITE);
objAnimator.start();
希望这就是你想要的。
我在 android 中有一个圆形的 Shape View,我想要它的闪烁动画。
这是我的 layout.xml
<View
android:id="@+id/circle"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/solid_circle"
android:layout_centerInParent="true"/>
Drawable/solid_circle.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/colorAccent"/>
</shape>
以上代码将显示一个圆形视图。我希望圆圈在闪烁。这是我在循环视图中使用闪烁动画的代码。
ObjectAnimator objAnimator = ObjectAnimator.ofInt(mCircle, "backgroundColor", Color.WHITE, ContextCompat.getColor(getApplicationContext(), R.color.colorAccent), Color.WHITE);
objAnimator.setDuration(1000);
objAnimator.setEvaluator(new ArgbEvaluator());
objAnimator.setRepeatMode(Animation.REVERSE);
objAnimator.setRepeatCount(Animation.INFINITE);
objAnimator.start();
问题是,它是Blinking the Circle in a rectangle,我们可以有一个Circle形式的Blink Animation吗?如何实现?
您正在为视图的 backgroundColor
设置动画,它将为 rectangle/square
相反,您必须实施alpha
动画
所以动画师是:
ObjectAnimator objAnimator = ObjectAnimator.ofFloat(mCircle, "alpha",0f,1f);
objAnimator.setDuration(1000);
objAnimator.setRepeatMode(Animation.REVERSE);
objAnimator.setRepeatCount(Animation.INFINITE);
objAnimator.start();
希望这就是你想要的。