`
dowhathowtodo
  • 浏览: 779297 次
文章分类
社区版块
存档分类
最新评论

android:repeatCount="infinite"在set中无效

 
阅读更多

xml如下:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:repeatCount="infinite"
    android:repeatMode="restart">  
    <alpha  
        android:fromAlpha="0.0"  
        android:toAlpha="1.0"  
        android:duration="1000"/>  
    <alpha
        android:startOffset="3000"
        android:fromAlpha="1.0"  
        android:toAlpha="0.0"  
        android:duration="1000"/>
</set>

本来想实现的功能是让透明度从0 到1, 等待2秒,再让透明度从1到0, 以达到闪烁的目的; 这样做的好处是可以控制显示的时间;


有人说在代码中设置setRepeatCount(Animation.INFINITE);就可以了, 实际测试下来还是不行,最好是通过设置AnimationListener, 在onAnimationEnd事件中再次开始动画来完成“repeat”的。

Animation anim = AnimationUtils.loadAnimation(BuzzFinderActivity.this, R.anim.crosshair_focusing);
            anim.setAnimationListener(new AnimationListener() {

                @Override
                public void onAnimationEnd(Animation arg0) {
                    Animation anim = AnimationUtils.loadAnimation(BuzzFinderActivity.this, R.anim.crosshair_focusing);
                    anim.setAnimationListener(this);
                    brackets.startAnimation(anim);

                }

                @Override
                public void onAnimationRepeat(Animation arg0) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onAnimationStart(Animation arg0) {
                    // TODO Auto-generated method stub

                }

            });


-------------------------------------------------------------------------------------------------------------------------------------

题外话:

虽然只用alpha动画, 设置如下也可以实现闪烁的效果,但是不太好控制显示时间。如果想让渐变的时间不一致就更没辙了。

alpha.setRepeatCount(Animation.INFINITE);

alpha.setRepeatMode(Animation.REVERSE);

-------------------------------------------------------------------------------------------------------------------------------------


讨论帖:http://stackoverflow.com/questions/4480652/android-animation-does-not-repeat

分享到:
评论

相关推荐

    AndroidAutoSwitcher:AutoSwitchView是在Android的两个项目之间进行动画处理的视图,支持多个切换动画,或者您可以自定义自己的动画策略。 并且其子视图可以重用

    将依赖项添加到您的项目build.gradle文件中 compile 'com.github.markshawn:auto-switcher:1.2' XML代码 &lt;com.switcher.AutoSwitchView android:layout_width="match_parent" android:layout_height="wrap_...

    ForAnimation:CALayer的各种动画效果

    ForAnimationCALayer的各种动画效果IntroduceIOS--CALayer实现,界限、透明度、位置、旋转、缩放组合动画基于框架:QuartzCore....shake.repeatCount = fDuration/4/0.1f;shake.autoreverses = YES;效果如下://界

    react-native-skelleton:一个简单的骨架组件视图

    一个在本机视图中完成的骨架解决方案,您可以包装任何视图组件来增强用户体验。 安装 npm install react-native-skelleton 用法 import SkelletonView from 'react-native-skelleton' ; ... render ( ) { return ( ...

    RF射频模块315/433发射端程序+接收端程序+应用说明等-电路方案

    在实际测试中,随便接了跟电线,传输能达到5米,无丢包现象。这个射频模块的穿墙效果,应该会比2.4G的好很多。我家里以前一套315Mhz的报警器,全屋传输无压力。 接线很简单,只有三个脚,两个是电源,一个是数据。 ...

    integration-simulators-nf-simulator-ves-client:Integrationsimulatorsnf-simulatorves-client repo的镜像

    所有必需的docker映像都将从ONAP Nexus下载,但是可以在本地生成这些映像。 这可以通过从顶层目录调用mvn clean install -P docker来实现。原料药Simulator提供REST端点,可用于触发向VES发送事件。 定期事件发送要...

    Android动画学习笔记之补间动画

    本文实例为大家分享了Android补间动画...repeatCount:动画重复的次数  repeatMode:顺序动画(restart)/倒序动画(reverse)  startOffset:动画之间时间间隔  对于动画的创建一般有两种方式: 第一种是在res/新建一

    lottie-2.7.0.jar

    在assets文件夹下放images+json文件就可以动态生成gif的android lottie jar包,需要在自己工程里面的values/attrs.xml加上自定义属性 &lt;declare-styleable name="LottieAnimationView"&gt; &lt;attr name="lottie_fileName...

    android中图片的缩放,飞入,旋转,渐入特效

    startOffset,动画多次执行的间隔时间,如果只执行一次,执行前会暂停这段时间,单位毫秒 duration,一次动画效果消耗的时间,单位毫秒,值越小动画速度越快 repeatCount,动画重复的计数,动画将会执行该值+1次 ...

    js 函数性能比较方法

    在学习js过程中,经常会遇到同样一个功能点 这样实现也可以,那样实现也可以。但是哪个方式最优呢?自己写了一个简短的proferencesCompare 函数。代码如下: /** * 函数性能比较 * @param fns 要比较的函数数组 *...

    浅谈Android中视图动画的属性与使用

    Android动画主要包括视图动画和属性动画,视图动画包括Tween动画和Frame动画,Tween动画又包括渐变动画、平移动画、缩放动画、旋转动画。 Tween动画的基本属性  目标 View;  时常 duration;  开始状态 fromXXX...

    TanTanRippleView-仿探探进入 扫描view.zip

     repeatCount = ValueAnimator.INFINITE  addUpdateListener {  postInvalidateOnAnimation()  fps  sweepProgress  }  addListener(object : AnimatorListenerAdapter() {  override fun ...

    andrroid中界面的旋转,缩放,飞入,淡入淡出效果

    android中界面的特效: fromAlpha:开始时透明度 toAlpha:结束时透明度 duration:动画持续时间; fromDegrees开始时的角度 toDegrees动画结束时角度; interpolator指定动画插入器,常见的有加速减速插入器...

    iOS开发教程之扇形动画的实现

    前言 最近比较闲,正好利用这段时间把现在项目用的东西...-(instancetype)initWithCenter:(CGPoint)center radius:(CGFloat)radius bgColor:(UIColor *)bgColor repeatCount:(NSInteger)repeatCount { if (self =

    非常好的IOS项目资源,分享出来.zip

    一、简介 IOS 动画主要是指Core Animation...常用属性 duration : 动画的持续时间 beginTime : 动画的开始时间 repeatCount : 动画的重复次数 autoreverses : 执行的动画按照原动画返回执行 timingFunction : 控制动画

    CAMediaTiming ( 时间协议)详解及实例代码

    像duration,beginTime和repeatCount这些时间相关的属性都在这个类中。大体而言,协议中定义了8个属性,这些属性通过一些方式结合在一起,准确的控制着时间。文档中每个属性只有几句话,所以很有可能在看这篇文章...

    SlimAudio:我为自己制作的CLI声音工具

    -r --repeat repeatCount -s --silent (No terminal output)` 问题和错误可以通过以下地址发送给我 通常,播放声音文件很麻烦。 作为游戏开发人员,我发现自己经常反复听和修改短音频片段。 每隔0.3秒启动Windows ...

    三种风格的VB菜单控制及演示

    三个VB菜单控件及应用源代码,是配合笔者的“[网摘]VB用户控件制作讲解...须先设置 RepeatCount 属性(当前总层数),再设置当前层数(RepeatCurrent 属性),再点击“(自定义)”进入属性页对当前层的菜单项进行设置。

Global site tag (gtag.js) - Google Analytics