Android中view动画

[1]透明

//点击按钮 实现iv 透明的效果  动画
    public void click1(View v) {
        //1.0意味着着完全不透明 0.0意味着完全透明
        AlphaAnimation aa = new AlphaAnimation(1.0f, 0.0f);
        aa.setDuration(2000); //设置动画执行的时间
        aa.setRepeatCount(1); //设置重复的次数
        aa.setRepeatMode(Animation.REVERSE);//设置动画执行的模式
        //iv开始执行动画
        iv.startAnimation(aa);

    }

[2]旋转

//点击按钮 实现iv 执行一个旋转 动画
    public void click2(View v) {
        //fromDegrees 开始角度   toDegrees 结束角度
//        RotateAnimation  ra = new RotateAnimation(0, 360);
        RotateAnimation ra = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        ra.setDuration(2000); //设置动画执行的时间
        ra.setRepeatCount(1); //设置重复的次数
        ra.setRepeatMode(Animation.REVERSE);//设置动画执行的模式
        //iv开始执行动画
        iv.startAnimation(ra);

    }

[3]缩放

    //点击按钮进行一个缩放动画
    public void click3(View v) {
        ScaleAnimation sa = new ScaleAnimation(1.0f,2.0f, 1.0f, 2.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        sa.setDuration(2000); //设置动画执行的时间
        sa.setRepeatCount(1); //设置重复的次数
        sa.setRepeatMode(Animation.REVERSE);//设置动画执行的模式
        //iv开始执行动画
        iv.startAnimation(sa);
    }

[4]位移

//位移动画
    public void click4(View v){
        TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0.2f);
         ta.setDuration(2000); //设置动画执行的时间
         ta.setFillAfter(true);//当动画结束后 动画停留在结束位置

         //开始动画
         iv.startAnimation(ta);
    }
//动画一起飞
    public void click5(View v){
        AnimationSet set = new AnimationSet(false);

        //透明动画
        AlphaAnimation aa = new AlphaAnimation(1.0f, 0.0f);
        aa.setDuration(2000); //设置动画执行的时间
        aa.setRepeatCount(1); //设置重复的次数
        aa.setRepeatMode(Animation.REVERSE);//设置动画执行的模式
        //旋转动画
        RotateAnimation ra = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        ra.setDuration(2000); //设置动画执行的时间
        ra.setRepeatCount(1); //设置重复的次数
        ra.setRepeatMode(Animation.REVERSE);//设置动画执行的模式
        //缩放
        ScaleAnimation sa = new ScaleAnimation(1.0f,2.0f, 1.0f, 2.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        sa.setDuration(2000); //设置动画执行的时间
        sa.setRepeatCount(1); //设置重复的次数
        sa.setRepeatMode(Animation.REVERSE);//设置动画执行的模式

        TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0.2f);
         ta.setDuration(2000); //设置动画执行的时间
         ta.setFillAfter(true);//当动画结束后 动画停留在结束位置

        //添加动画
        set.addAnimation(aa);
        set.addAnimation(ra);
        set.addAnimation(sa);
        set.addAnimation(ta);

        //最后一步 要记得 执行动画
        iv.startAnimation(set);

    }
时间: 2024-10-24 14:37:50

Android中view动画的相关文章

Android(java)学习笔记200:Android中View动画之 XML实现 和 代码实现

1.Animation 动画类型 Android的animation由四种类型组成: XML中: alph 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnimation 画面转移旋转动画效果  2.Andro

Android中的动画

Android中的动画分为两大类:视图动画(View Animation)和属性动画(Property Animation).视图动画又分为帧动画(Frame Animation)和补间动画(Tween) 视图动画:只实现动画效果而不改变控件本身的属性            属性动画:以实现动画效果改变控件本身的属性 帧动画:实现帧动画,首先在drawable文件夹中放上动画资源(一个animation-list标签的xml文件,里面是一个个item), 然后在代码上,第一步:获取要显示动画效果

Android移动view动画问题--停在动画的最后一帧(转)

Android写动画效果不是一般的麻烦,网上找了好久,终于解决了动画的问题,总结记录以共勉. 仅以水平方向移动效果做说明,垂直方向类似. public void slideview(final float p1, final float p2) { TranslateAnimation animation = new TranslateAnimation(p1, p2, 0, 0); animation.setInterpolator(new OvershootInterpolator());

android中Animation动画的连续播放与播放完毕后停留在最后的状态

我们做安卓应用的苦逼程序员们常常会需要用到Animation也就是动画.比如做地图功能的时候.我们在手机旋转时需要根据手机重力感应来调整地图的角度,让它上面的“北”一直指向地球的北面...好多人做动画的时候会遇到这么两个难题(我也曾经遇到过):1:动画执行完了一遍后又立刻恢复到了初始状态,或者动画只能不断循环动作.[问题:我想让动画动到某个位置或转到某个角度后停在那里,该如何做呢?]2:点击按钮一.动画从0度转到了10度,我再点击按钮二.需要动画从之前的10度位置再继续转到20度.再点击按钮三.

Android中View绘制流程以及invalidate()等相关方法分析

前言: 本文是我读<Android内核剖析>第13章----View工作原理总结而成的,在此膜拜下作者 .同时真挚地向渴望了解 Android 框架层的网友,推荐这本书,希望你们能够在Android开发里学到更多的知识 . 整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为 根据之前设置的状态,判断是否需要重新计算视图大小(measure).是否重新需要安置视图的位置(layout).以及是否需要重绘 (d

Android中View的绘制过程 onMeasure方法简述

Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android framework将会处理绘制过程,Activity只需提供它的布局的根节点. 绘制过程从布局的根节点开始,从根节点开始测量和绘制整个layout tree. 每一个ViewGroup 负责要求它的每一个孩子被绘制,每一个View负责绘制自己. 因为整个树是按顺序遍历的,所以父节点会先被绘制,而兄弟节点会按照它们在树中出现的顺序被绘制. 绘制是一个两遍(two pass)的过程:一个mea

Android 中View的绘制机制源码分析 一

尊重原创: http://blog.csdn.net/yuanzeyao/article/details/46765113 差不多半年没有写博客了,一是因为工作比较忙,二是觉得没有什么内容值得写,三是因为自己越来越懒了吧,不过最近我对Android中View的绘制机制有了一些新的认识,所以想记录下来并分享给大家.在之后的几篇博客中,我会给大家分享如下的内容: 1.View中measure(),layout(),draw()函数执行过程分析,带领大家详细分析View的尺寸测量过程,位置计算,并最终

android 中View, Window, Activity, WindowManager,ViewRoot几者之间的关系

(1)View:最基本的UI组件,表示屏幕上的一个矩形区域. (2)Window: 表示一个窗口,不一定有屏幕那么大,可以很大也可以很小: 它包含一个View tree和窗口的layout 参数. View tree的root View可以通过getDecorView得到.还可以设置Window的Content View. (3)Activity:Activity包含一个Window,该Window在Activity的attach方法中通过调用 PolicyManager.makeNewWind

源码解析Android中View的measure量算过程

Android中的Veiw从内存中到呈现在UI界面上需要依次经历三个阶段:量算 -> 布局 -> 绘图,关于View的量算.布局.绘图的总体机制可参见博文< Android中View的布局及绘图机制>.量算是布局和绘图的基础,所以量算是很重要的一个环节.本文将从源码角度解析View的量算过程,这其中会涉及某些关键类以及关键方法. 对View进行量算的目的是让View的父控件知道View想要多大的尺寸. 量算过程概述 如果要进行量算的View是ViewGroup类型,那么ViewGr