形状为圆形的闪烁动画

问题描述 投票:0回答:1

我在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"/>

Drawablesolid_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>

上面的代码将显示一个圆形视图。我想让圆圈闪烁。下面是我使用Blink Animation来制作圆形视图的代码。

    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();

它的问题是,它是以矩形的形式来闪烁圆圈,我们可以以圆圈的形式来闪烁动画吗?如何实现呢?

android animation objectanimator
1个回答
1
投票

你是动画 backgroundColor 视图中,它将对矩形方块的背景进行动画处理。

相反,你必须实现 alpha动画

所以,动画师是 。

    ObjectAnimator objAnimator = ObjectAnimator.ofFloat(mCircle, "alpha",0f,1f);
    objAnimator.setDuration(1000);
    objAnimator.setRepeatMode(Animation.REVERSE);
    objAnimator.setRepeatCount(Animation.INFINITE);
    objAnimator.start();

我希望这是你想要的

© www.soinside.com 2019 - 2024. All rights reserved.