美文网首页
初识安卓中的动画

初识安卓中的动画

作者: dev晴天 | 来源:发表于2018-08-11 19:22 被阅读0次
1 帧动画 (加载一系列图片资源)

创建: 在drawable下创建 xml文件 节点改为animatiom-list

       内部的item节点属性drawable 设置图片 duraing 时间

       这是个drawable 一定是使用ImageView进行显示的。

显示:
       首先主activity中找id 获得ImageView对象
       在进行设置背景资源 ImageView对象的setBackGroundResource(定        义的drawable xml)

       通过ImageView的getBackground()强转获得AnimtionDrawable对象

       通过对象的start();开启动画



2 View动画 (补间动画)

3 属性动画

安卓中的逐帧动画:
drawerAnim   xml中定义   ImageView中显示




安卓中的补间动画:  view动画 安卓里的view控件都可以播放

1 透明AlphaAnim
2 旋转 rotateAnim
3 缩放 ScaleAnim
4 位移 translateAnim

还有个动画集合 可以吧这些动画一起执行

一般补间动画是通过变换图片达到动画的效果




demo:::::




public class MainActivity extends AppCompatActivity {

    private ImageView ivImg;
    private AlphaAnimation aa;
    private RotateAnimation ra;
    private ScaleAnimation sa;
    private TranslateAnimation ta;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ivImg = (ImageView) findViewById(R.id.iv_img);

    }

    public void doalpha(View view){
        /*渐变动画    参数 开始时的颜色  结束时的颜色  0.0 完全透明  1.0 完全不透明*/
        aa = new AlphaAnimation(0.0f,1.0f);
        aa.setDuration(5000);//动画执行时间
        //aa.setRepeatCount(1);//动画重复的次数
       // aa.setRepeatMode(Animation.REVERSE);//重复模式
        aa.setFillAfter(true);//保持执行后状态
        ivImg.startAnimation(aa);//开启动画


    }
    public void dorotate(View view){
        //旋转动画  参数 起始旋转的角度  结束时选装的角度   xy相对自身旋转  0.5 代表图片

宽高都是一半 正好相对自身中心旋转
        ra = new RotateAnimation(0,360, 

Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
        ra.setDuration(5000);
        ra.setFillAfter(true);
        ivImg.startAnimation(ra);
    }
    public void doscale(View view){
         // 缩放动画 参数x轴开始 结束的缩放比例  参数y轴开始 结束的缩放比例   相对自身中

心点
        sa = new ScaleAnimation(1.0f,0.5f,1.0f,0.5f, 

Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
        sa.setDuration(5000);
        sa.setFillAfter(true);
        ivImg.startAnimation(sa);
    }
    public void dotranslate(View view){
         // 位移动画  参数 相对父控件 起始x 参数 相对父控件 结束x
        //相对父控件 起始y参数 相对父控件 结束y(0.2f代表父控件高度0.2倍)
        ta = new TranslateAnimation

(Animation.RELATIVE_TO_PARENT,0,Animation.RELATIVE_TO_PARENT,0,Animation.RELATIVE_TO_PARE

NT,0,Animation.RELATIVE_TO_PARENT,0.2f);
        ta.setDuration(5000);
        ta.setFillAfter(true);
        ivImg.startAnimation(ta);
    }
    public void doset(View view){
        AnimationSet as= new AnimationSet(false);

        aa = new AlphaAnimation(0.0f,1.0f);
        aa.setDuration(5000);
        aa.setFillAfter(true);

        ra = new RotateAnimation(0,360, 

Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
        ra.setDuration(5000);
        ra.setFillAfter(true);

        sa = new ScaleAnimation(1.0f,0.5f,1.0f,0.5f, 

Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
        sa.setDuration(5000);
        sa.setFillAfter(true);

        ta = new TranslateAnimation

(Animation.RELATIVE_TO_PARENT,0,Animation.RELATIVE_TO_PARENT,0,Animation.RELATIVE_TO_PARE

NT,0,Animation.RELATIVE_TO_PARENT,0.2f);
        ta.setDuration(5000);
        ta.setFillAfter(true);
        //  添加到集合
        as.addAnimation(aa);
        as.addAnimation(ta);
        as.addAnimation(sa);
        as.addAnimation(ra);
        //开启动画
        ivImg.startAnimation(as);
    }
   //注 这些动画(补间动画)的效果不会改变控件的真实坐标
    // 属性动画可以
}
   


xml  方式定义补间动画  

res  下 建立anmi  根元素为 各种动画   


java中 findViewbyid 可找到


属性动画 
类 ObjectAnimator(不是 new出来的)   会改变真是坐标    

相关文章

  • 初识安卓中的动画

  • Android基础之动画资源浅析

    动画 在开发中,为了让我们的App更加生动,我们往往会加入一些动画效果,下面我们来说说安卓中的动画。 安卓中提供了...

  • 0x0.Android 初识

    Android 初识
    安卓支持的语言 安卓的大致结构 内核(Linux 驱动与底...

  • 安卓动画

    android.view.animation Tween(补间动画/渐变动画)特点:只是改变了View的显示效果而...

  • 安卓动画

    补间动画 帧动画 属性动画 TweeAnimation 补间动画 只可以改变两个关键帧之间的透明度,旋转,缩放,位...

  • 安卓动画

    Android 中的动画可以分为以下几类: 逐帧动画 补间动画 属性动画 1、逐帧动画 逐帧动画的原理就是让一系列...

  • react-navigation相关bug的解决

    让安卓实现push动画 之前我群里的讨论怎么让安卓实现类似iOS的push动画,后来翻看官方issues的时候,真...

  • 【安卓学习笔记】安卓动画的实现(1)——补间动画(Tween)

    安卓动画分类 安卓动画分为图中所示4大类。所谓帧动画,即准备很多图片,让图片按一定时间连续播放,从而达到模拟动画效...

  • 安卓中基本的动画总结

    安卓有三种基本的动画: 1.帧动画2.补间动画3.属性动画(安卓3.0以后加入) 帧动画 帧动画是在drawabl...

  • 安卓动画--属性动画

    属性动画类似于跟看电影一样,都是多张图片,一贞一贞展现出来。可以配置在xml里面,通过每贞图片停留时间长短,结合在...

网友评论

      本文标题:初识安卓中的动画

      本文链接:https://www.haomeiwen.com/subject/vradbftx.html