`

Android电视关闭的动画效果

 
阅读更多

老式电视机关闭的时候画面一闪消失的那个效果: 

 

 

首先创建一个TVOffAnimation继承于Animation: 

Java代码  收藏代码
  1. import android.graphics.Matrix;  
  2. import android.view.animation.AccelerateDecelerateInterpolator;  
  3. import android.view.animation.Animation;  
  4. import android.view.animation.Transformation;  
  5.   
  6. public class TVOffAnimation extends Animation {  
  7.   
  8.     private int halfWidth;  
  9.     private int halfHeight;  
  10.   
  11.     @Override  
  12.     public void initialize(int width, int height, int parentWidth,  
  13.             int parentHeight) {  
  14.   
  15.         super.initialize(width, height, parentWidth, parentHeight);  
  16.         setDuration(500);  
  17.         setFillAfter(true);  
  18.         //保存View的中心点  
  19.         halfWidth = width / 2;  
  20.         halfHeight = height / 2;  
  21.         setInterpolator(new AccelerateDecelerateInterpolator());  
  22.           
  23.     }  
  24.   
  25.     @Override  
  26.     protected void applyTransformation(float interpolatedTime, Transformation t) {  
  27.   
  28.         final Matrix matrix = t.getMatrix();  
  29.         if (interpolatedTime < 0.8) {  
  30.             matrix.preScale(1+0.625f*interpolatedTime, 1-interpolatedTime/0.8f+0.01f,halfWidth,halfHeight);  
  31.         }else{  
  32.             matrix.preScale(7.5f*(1-interpolatedTime),0.01f,halfWidth,halfHeight);  
  33.         }  
  34.     }  
  35. }  


interpolatedTime表示的是当前动画的间隔时间 范围是0-1 

那么横向来讲前80%的时间我们要横向拉伸到150%,纵向是直接减小,最后只留一条线。 
后20%的时间里我们要横向从150%压缩至0%,纵向保持不变就好了,当横向为0的时候就全部消失了。 
可能大家对于1+0.625f*interpolatedTime, 1-interpolatedTime/0.8f+0.01f,7.5f*(1-interpolatedTime),0.01f 这4个值比较疑惑,其实很简单,这是一个一次函数的函数值。 

然后在activity中直接可以用了 
Java代码  收藏代码
  1. View img = findViewById(R.id.imageView);  
  2. button.setOnClickListener(new OnClickListener() {  
  3.   
  4.             @Override  
  5.             public void onClick(View v) {  
  6.                 img.startAnimation(new TVOffAnimation());  
  7.             }  
  8.         });  

分享到:
评论

相关推荐

    Android 电视关闭的动画效果

    本主题聚焦于"Android电视关闭的动画效果",这通常涉及到视图变换、过渡动画以及自定义动画的实现。 首先,Android提供了多种动画类型,包括帧动画(Frame Animation)、属性动画(Property Animation)和视图动画...

    android 电视关机动画

    下面我们将深入探讨Android电视关机动画的相关知识点。 一、Android系统架构与关机动画 Android系统是基于Linux内核的操作系统,它有一个层次化的框架,包括硬件抽象层(HAL)、库层、系统服务层、应用框架层以及...

    电视机Android系统自动关闭的动画效果代码

    本文将深入探讨如何实现“电视机关闭时画面一闪消失”的动画效果,以此为例,展示Android系统中如何使用Animation类来创建自定义动画。 首先,我们要理解Android中的两种主要动画类型:补间动画(Tween Animation)...

    Android特效之 电视机关闭

    2. **雪花效果**:在电视关闭的过程中,屏幕会出现类似雪花的随机像素点,这在数字电视中称为“噪声”。我们可以创建多个小的随机移动的矩形或圆形视图来模拟雪花,通过定时器更新它们的位置和颜色。 3. **声音效果...

    电视开关效果的Dialog

    通过设置动画的时长、延迟、重复次数和插补器等参数,可以精确地调整动画效果。 此外,开发者可能还利用了自定义布局来构建Dialog的内容。在`TVAnimDialogDemo`这个项目中,布局文件可能包含了开关图像、背景色以及...

    模仿电视关闭动画Animation特效

    总结来说,模仿电视关闭动画特效涉及到Android的视图动画机制,特别是`AlphaAnimation`和`ScaleAnimation`的使用,以及如何组合它们以创建更复杂的动画效果。通过理解和实践这个项目,开发者可以提升对Android动画...

    CRT锁屏效果-GT-N7100 Android Revolution HD rom

    "CRT锁屏效果"是这个ROM的一个特色功能,它模仿了老式阴极射线管(CRT)电视或显示器关闭时的动画效果,为用户带来复古而酷炫的视觉体验。 首先,让我们来了解一下什么是CRT。CRT全称为Cathode Ray Tube,即阴极...

    仿电视关闭的一个动画效果

    作者soyoungboy,源码DelectPullToRefreesh-master,上拉刷新,下拉加载,滑动item可以删除对应item,DelectPullToRefreesh 模仿QQ界面,listview既可以上拉刷新,下拉加载,还可以进行手势滑动listview进行删除操作...

    android自定义相机带取景框

    为了提供良好的用户体验,自定义相机还需要考虑各种交互设计,比如点击拍照按钮后的动画效果、取景框的缩放和拖动等。 十、处理权限动态申请 对于Android 6.0及以上版本,需要在运行时动态请求相机权限。使用...

    TVOffAnimation:仿电视关闭的一个动画效果

    仿电视关闭的一个动画效果 #仿电视关机效果的动画 效果图 主要代码 package com.zhengsonglan.tvanimation; import android.graphics.Matrix; import android.view.animation.AccelerateDecelerateInterpolator; ...

    Android新特性总结

    - **过渡动画**: Android 6.0系统增加了许多平滑过渡的动画效果,减少了操作过程中的卡顿感,提供了更为流畅的用户体验。 **2. 相机新增专业模式** - **Pro专业模式**: 原生相机中新增的专业模式,允许用户调整...

    android低版本19.rar

    然而,尽管新版本不断推出,许多用户设备上的操作系统仍然停留在较旧的版本,尤其是智能电视和其他物联网设备。本资源"android低版本19.rar"专注于Android 4.4(KitKat)版本的开发,这是一个在众多老旧设备上广泛...

    腾讯爱看的效果代码

    - 另一种常见方法是使用第三方库,如`SlideMenu`或`Android-Slide-Menu`,它们提供更丰富的定制选项和动画效果。 - 还可以通过自定义ViewGroup实现,这需要对Android布局和触摸事件处理有深入理解。 2. **触摸...

    CRT关屏特效补丁 HTC G11

    综上所述,"CRT关屏特效补丁 HTC G11"是一个针对HTC G11智能手机的定制化软件,提供了类似老式CRT显示器的关屏动画效果。用户在安装和使用此补丁时,需要注意与设备的兼容性、安全性和可能对系统稳定性的影响。同时...

    flashcs教程PPT教案.pptx

    它不仅能在台式机上运行,还能在平板电脑、智能手机和电视等多设备上呈现一致的效果。Flash Professional CS6 版本增加了对生成sprite表单和访问本地设备的支持,方便开发者针对Android和iOS平台设计。 **1.1 Flash...

    一台电视

    3. **动画效果**:电视应用和界面往往需要吸引用户的注意力,CSS3的动画和过渡效果为此提供了可能。通过这些功能,开发者可以创建平滑的过渡效果,如按钮按下时的微小变形,或者菜单展开和关闭的动态效果。 4. **...

    LETV S40 root文件

    5. **调整动画效果**:在开发者选项中关闭或降低动画帧率,可以减少系统对内存的需求。 在进行以上操作时,请确保备份重要数据,因为root和系统修改可能有风险。同时,保持系统更新也很重要,尽管更新可能使root...

    真待机补丁有效.zip

    7. **用户界面调整**:补丁可能会修改用户界面元素,以减少不必要的动画和效果,这些都可能导致额外的处理器负载和电量消耗。 这个"真待机补丁有效.zip"文件很可能是为特定的Android设备或系统版本提供的一个更新包...

    QT虚拟遥控按钮源代码.7z

    为了实现遥控器的交互效果,开发者可能使用了`QGraphicsView`和`QGraphicsScene`来创建更复杂的视觉效果,如动态动画或自定义画图。`QGraphicsView`和`QGraphicsScene`是QT的2D图形系统,允许在窗口中添加和操作各种...

    PDF-IntroducingHTML5GameDevelopment-英文版.rar

    通过调用Canvas API的方法,如`fillRect()`、`strokePath()`等,可以实现游戏中的角色移动、碰撞检测、动画效果等。 **WebGL** 除了Canvas,HTML5还引入了WebGL,这是一种3D图形渲染API,基于OpenGL标准,能在...

Global site tag (gtag.js) - Google Analytics