动画AnimationDrawable、转动

来源:互联网 发布:海尔cosmo平台 知乎 编辑:程序博客网 时间:2024/05/16 10:08

现实开发中:很多地方都用到 点击动画的特效;

本案例本人做了三个关于“动” 画 的效果;

先上图:

总体图:

A:

B:

1:点击图片按钮,效果是:图片闪动;

通过在xml中定义:标签:animation-list来实现点击动画的效果; 

是否循环标签:oneshot ;  

时间间隔标签:duration ;

要显示的图片标签:drawable ;

一个item包含一个图片;如:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true">
        <item android:drawable="@drawable/b" android:duration="80"></item>  
        <item android:drawable="@drawable/d" android:duration="80"></item>  
        <item android:drawable="@drawable/b" android:duration="80"></item>  
        <item android:drawable="@drawable/d" android:duration="80"></item>  
        <item android:drawable="@drawable/b" android:duration="1000"></item>  
    <item android:drawable="@drawable/c" android:duration="800"></item> 
   
</animation-list>

可以通过background 给点击的图片设置默认的背景;

注意:在使用动画的时候;若果要多次点击的事件;并且对背景有又重新设置的情况下;如果还想要实现动画的效果那就要对背景先设置为“没有背景”:

low_connects.setBackgroundResource(0);

然后再次调用 动画的配置文件(也就是xml文件);这样就可以避免图片被覆盖、而没有显示动画的情况了;而这些可以选择写在点击事件里面。


2:圆形图片在界面上 一直旋转;

    <ProgressBar
        android:id="@+id/pros"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_gravity="center"
        android:layout_marginTop="10dip"
        android:background="@drawable/loadingpage_bg"
        android:indeterminateDrawable="@drawable/animdraw"
        android:indeterminateDuration="150000" />

这种情况的可以通过一个进度条的模式来实现:ProgressBar 

标签:indeterminateDuration 是时间不定的设置意思;也就是说这里设置个整数可以让进度一直循环下去;这个主要用在补间动画中,而帧动画则是不需要的。


3:图片围绕一个中心“转动” ;

    iv2 = (ImageView)findViewById(R.id.image);
       RotateAnimation animation = new RotateAnimation(0, 360);//LS:图片转动是360°转动
       animation.setDuration(100000);//设定转一圈的时间
       animation.setRepeatCount(Animation.INFINITE);//设定无限循环
       animation.setRepeatMode(Animation.RESTART);
       iv2.startAnimation(animation);

OK ,代码应该很清晰了; 具体怎么使用要看视情况而定了;---

传送门---

0 0
原创粉丝点击